- Frontend: Task-Manager.
- API Docs: Docs
The "Task Manager" application allows users to manage their tasks through an intuitive interface. Users can create, read, update, and delete tasks, and mark tasks as completed or pending. The frontend is built with React, and the backend uses Node.js, MongoDB, and Express.
- Task CRUD: Users can create, read, update, and delete tasks.
- Filtering: Tasks can be filtered by status (completed or pending).
- Validation and error handling: Implemented using
express-validatorand structured error handling. - API Documentation: Endpoints are documented with Swagger for easy reference.
- React.js with TailwindCSS.
- User interface: A task list displaying the title, status, and creation date. Features to edit and delete tasks.
- New Task Form: Allows users to add new tasks.
- Status Management: Users can mark tasks as completed or pending from the list.
- Filtering: Tasks can be viewed filtered by completed, pending, or all.
- Responsive Design: Optimized for both mobile and desktop devices.
- JWT Authentication to protect the backend endpoints
- Unit Tests for the backend using Jest and for the frontend using React Testing Library.
- Animations to enhance the user experience.
Make sure to have the following installed:
- Node.js and npm.
- MongoDB or a cloud MongoDB URL.
- Clone the repository:
git clone <REPOSITORY_URL> cd backend
- Install the dependencies:
npm install
- Create a
.envfile in the root directory and add the following:DATABASE_URL=<YOUR_MONGODB_URL>
- Start the server:
npm start
- Navigate to the frontend directory:
cd frontend - Install the dependencies:
npm install
- Start the development server:
npm start