This is a simple fullstack web application that allows users to manage their tasks by adding, completing, or deleting them. It also displays the number of tasks remaining. Built with Node.js, Express, MongoDB, and EJS, the app follows the MVC (Model, View, Controller) architecture pattern.
Link to the Website: https://beeday.onrender.com
The app is designed using a fullstack approach:
- Frontend: HTML, CSS, and EJS for templating.
- Backend: Node.js and Express for server-side logic and routing.
- Database: MongoDB for storing tasks and users.
- Authentication: Passport.js for authentication, using the local Strategy.
- MVC Pattern: The app is structured using the Model-View-Controller design pattern for better maintainability and scalability.
- Routing: The app includes basic routing to handle task creation, completion, and deletion.
- Signup and Login
- Add new tasks.
- Mark tasks as complete or incomplete.
- Delete tasks.
- View the number of pending tasks.
Future improvements could include:
- Adding task editing and due dates.
- Expanding authentication by integrating other Passport.js strategies, like Google OAuth.
- Optimizing code to handle larger task lists more efficiently.
- Improving database query performance.
Working on this app helped me:
- Understand the MVC architecture better.
- Strengthen my full-stack development skills.
- Gain more experience with server-side routing and MongoDB for database integration.
- Learn how to implement authentication using Passport.js with the local strategy.
