- Frontend: React (with Axios for API calls)
- Backend: Node.js & Express.js
- Database: MongoDB & MongoDB Atlas for cloud storage
✅ Add a new task
✅ Select or marked an existing completed task
✅ Delete tasks you’ve completed or no longer need
This project helped me dive deeper into full-stack development and understand the power of seamless integration between frontend and backend technologies.
- Building RESTful APIs with Node.js and Express
- Connecting to a cloud database using MongoDB Atlas
- Managing state and making HTTP requests using React and Axios
- Deploying and testing a full-stack application
✅ Users can now register, log in & log out, and securely interact with tasks.
✅ However, currently, users can view and manage tasks added by all users, not just their own.
✅ Users will be able to view and manage only their personal tasks—making the app even more tailored and secure for each individual user.
✅ JWT Authentication: Secure user login and token management.
✅ Cookies: Storing and sending authentication tokens securely.
✅ CORS Errors: Resolved cross-origin issues to ensure smooth API calls between frontend and backend.
✅ Backend Security: Added robust error handling and improved session management.
✅ Express & MongoDB: Leveraged Express for server management and MongoDB for efficient data storage.
✅ bcrypt: Implemented password hashing using bcrypt for securely storing passwords. Learned how to generate salts and hash passwords to protect user credentials from being compromised.
→ Understanding JWT for authentication is crucial for building secure apps.
→ Handling cookies properly can make a huge difference in user session management.
→ Dealing with CORS errors is a necessary skill for handling frontend-backend communication in modern web apps.
→ Password security is a must! bcrypt has been an essential tool for safely storing passwords.