Backend Project with Node, MongoDB & JS express.
⭐
Request a feature!
⭐
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.
- 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.
# Clone the repository
$ git clone
# Enter the directory
$ cd
# Install the dependencies
$ npm install
# Start the project
$ npm start
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.
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
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.
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!
- Fork SocialNetwork_Backend_Project
- Create your Feature Branch (
git checkout -b feature/YourName
) - Commit your Changes (
git commit -m 'Add some YourName'
) - Push to the Branch (
git push origin feature/YourName
) - Open a Pull Request
This project is under license of Demis Previotto & Vero Polegre
Demis Previotto
Vero Polegre