A simple To-Do List application built using modern web technologies. This app allows users to create, view, update, and delete tasks, with each task being associated with a user. this app was used as a learning base for Apollo Server and GraphQL
- User Registration & Login: Users can register and log in to manage their tasks.
- Create Tasks: Users can add new tasks with a title, description, and completion status.
- View Tasks: Users can view their list of tasks.
- Update Tasks: Users can mark tasks as completed or update task details.
- Delete Tasks: Users can remove tasks from their list.
- Apollo Server: A GraphQL server to handle requests and interact with the database.
- TypeScript: Superset of JavaScript for type safety and enhanced development experience.
- MongoDB: NoSQL database for storing user and task data.
- Mongoose: ODM (Object Data Modeling) library for MongoDB and Node.js.
- Bcryptjs: Library for hashing passwords securely.
- jsonwebtoken (JWT): For user authentication and generating tokens.
- Node.js (v14 or higher)
- MongoDB (running instance or connection URI)
To clone the repository, use:
git clone https://github.com/bertrandshema/todo-app-bn.git
cd todo-app-bn
npm install
Create a .env file in the root directory and add the following, you can use your local mongo db:
MONGO_URI=your_mongodb_connection_string
SECRET_KEY=your_jwt_secret_key
npm install
npm run lint
is used to format and check for linting errors filesnpm run format
is used to use Prettier to automatically formats the code to adhere to a consistent stylenpm run build
is used to build the production ready version of the projects.
This project is licensed under the MIT License - see the LICENSE file for details.