Skip to content

Full-stack Todo app with JWT authentication, task CRUD & MongoDB persistence. Deployed live. Angular frontend + Express.js backend.

License

Notifications You must be signed in to change notification settings

heitorrsdev/To-Do-List

Repository files navigation

To-Do List Application

Project Status License Frontend Deploy Backend API

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.

🚀 Key Features

  • 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.

💻 Technologies Used

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.

🌐 Project Access

The project is in production and can be accessed directly:

🛠️ Local Installation and Configuration

To configure the project locally, follow the steps below:

Prerequisites

1. Environment Configuration

Before starting the services, ensure you are using the correct Node.js version defined in the .nvmrc file:

nvm install && nvm use

2. Backend (API)

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    pnpm install
  3. Create a .env file in the root of the backend directory with the following environment variables:
    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_strong_jwt_secret_key
  4. Start the server:
    pnpm start
    The server will be running at http://localhost:3000.

3. Frontend (Angular Application)

  1. Navigate to the frontend directory:
    cd ../frontend
  2. Install dependencies:
    pnpm install
  3. Start the Angular application:
    pnpm start
    The application will be available at http://localhost:4200.

📸 Screenshots

Login Page Registration Page Task List Page Task Dialog

🤝 How to Contribute

Contributions are welcome! If you wish to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature).
  3. Make your changes and commit them (git commit -m 'feat: add your feature').
  4. Push to the original branch (git push origin feature/your-feature).
  5. Open a Pull Request.

✉️ Contact

If you have any questions or suggestions, feel free to contact the developer via email:

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Full-stack Todo app with JWT authentication, task CRUD & MongoDB persistence. Deployed live. Angular frontend + Express.js backend.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors