Skip to content

VeroPolegre/SocialNetwork_Backend_Project

Repository files navigation

Social Network

Hunta

Backend Project with Node, MongoDB & JS express.
Request a feature!

💬 Introduction

Welcome to Hunta!

A dynamic and collaborative social network designed to connect users in a seamless and secure online environment.

Our development journey has been focused on creating a social network engaging with users, posts and comments with an emphasis on security, performance, and functionality.

⚡ Objectives

  • User registration using Bcrypt.
  • User login + token + middleware.
  • Implementing CRUD operations.
  • Validations.
  • Using Multer to send images.
  • Confimation email and recover password.
  • Like/remove a post.
  • Backend available in production.

🔧 Built with

npm Node Mongodb Mongoose JS postman

⬇️ Download

 # Clone the repository
 $ git clone 
 
 # Enter the directory
 $ cd 

 # Install the dependencies
 $ npm install

 # Start the project
 $ npm start 

🚀 Development

Developed with JavaScript, leveraging Express, Mongosh, and Mongoose for seamless integration with a MongoDB database. Security is reinforced through the implementation of Bcrypt and JSON Web Token to safeguard user data. Additionally, Nodemailer is used for email confirmation and password recovery, while Multer is utilized to facilitate the transmission of photos within the request body.

🎯 Endpoints

The system encompasses CRUD operations (Create, Read, Update, Delete). Our social network Hunta features various types of endpoints, some of which are highly specific and secure. To enhance security, we've integrated the "isAuthor" besides the "isAdmin" and "isSuperAdmin" middleware. Rigorous testing of all endpoints using Postman was conducted before deploying to the Main branch, ensuring a robust and reliable system.

Users:

- Register a new user
- Login
- Confirm email
- Update by ID
- Get logged user (profile info)
- Get user by ID
- Get by name
- Follow a user
- Unfollow a user
- Logout

Posts:

- Create a new post
- Update
- Delete
- Get all posts
- Get by ID
- Get by name
- Like a post
- Unlike a post

Comments:

- Create a new comment
- Delete
- Like a comment
- Unlike a comment

👥 Working with branches

This project proved to be highly beneficial as it provided valuable insights into branch management and GitHub commands. Overcoming the occasional conflicts was a learning experience, and witnessing the project function seamlessly according to our initial vision was particularly gratifying.

branches

🤝 Contributing

Your contributions are sincerely valued. If you have any suggestions to improve it, please consider forking the repository and initiating a pull request. Alternatively, you can easily open an issue labeled "enhancement." And, remember to show your support for the project by giving it a star! Thank you!

  1. Fork SocialNetwork_Backend_Project
  2. Create your Feature Branch (git checkout -b feature/YourName)
  3. Commit your Changes (git commit -m 'Add some YourName')
  4. Push to the Branch (git push origin feature/YourName)
  5. Open a Pull Request

🖊️ License

This project is under license of Demis Previotto & Vero Polegre

⭐️ How to reach us!

Demis Previotto

Vero Polegre

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5