This is a complete to-do list application developed to help users organize their daily activities efficiently. The project consists of an Angular Frontend and an Express.js Backend, offering a robust and scalable solution for task management.
- User Authentication: Secure registration and login with JWT to manage personal tasks.
- Task Management (CRUD): Add, edit, mark as completed, and delete tasks.
- Intuitive Interface: Clean and responsive design, developed with Angular.
- Data Persistence: Your tasks are saved and accessible at any time in MongoDB.
| Category | Technology | Description |
|---|---|---|
| Frontend | Angular | Framework for building the user interface. |
| TypeScript | Primary programming language. | |
| Backend | Express.js | Web framework for Node.js, used to build the RESTful API. |
| Node.js | JavaScript runtime environment for the backend. | |
| Database | MongoDB | NoSQL database for data storage. |
| Mongoose | ODM (Object Data Modeling) for interacting with MongoDB. | |
| Security | JWT (JSON Web Tokens) | For secure authentication and authorization. |
| Bcrypt | For password hashing. |
The project is in production and can be accessed directly:
- Web Application (Frontend): https://to-do-list-heitorrsdev.vercel.app/
- API (Backend): https://to-do-list-express-api.onrender.com/api (The API is functional but does not have a direct user interface, only endpoints).
To configure the project locally, follow the steps below:
- nvm (Node Version Manager)
- pnpm (recommended package manager)
- MongoDB (local or MongoDB Atlas)
Before starting the services, ensure you are using the correct Node.js version defined in the .nvmrc file:
nvm install && nvm use- Navigate to the backend directory:
cd backend - Install dependencies:
pnpm install
- Create a
.envfile in the root of thebackenddirectory with the following environment variables:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_strong_jwt_secret_key
- Start the server:
The server will be running at
pnpm start
http://localhost:3000.
- Navigate to the frontend directory:
cd ../frontend - Install dependencies:
pnpm install
- Start the Angular application:
The application will be available at
pnpm start
http://localhost:4200.
Contributions are welcome! If you wish to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Make your changes and commit them (
git commit -m 'feat: add your feature'). - Push to the original branch (
git push origin feature/your-feature). - Open a Pull Request.
If you have any questions or suggestions, feel free to contact the developer via email:
This project is licensed under the MIT License. See the LICENSE file for more details.



