This is a full-stack task management application built using Angular, Node.js, Express.js, and MongoDB. The application allows users to create, edit, delete, and view tasks. It also includes user authentication with JWT, forgot and reset password functionality, and responsive design using Tailwind CSS.
- Features
- Technologies Used
- Prerequisites
- Installation
- Running the Application
- API Endpoints
- Usage
- License
- User authentication with JWT
- Home page as landing page
- Forgot and reset password functionality
- Add, edit, delete, and view tasks
- Filter tasks by status and priority
- Responsive design using Tailwind CSS
- Backend: Node.js, Express.js, MongoDB, Mongoose, JWT, Nodemailer
- Frontend: Angular, Tailwind CSS
- Authentication: JSON Web Tokens (JWT)
- Node.js (v14.x or later)
- Angular CLI (v18.x or later)
- MongoDB (local or remote instance)
-
Clone the repository:
git clone https://github.com/manthanank/task-management-app.git cd task-management-app/backend
-
Install dependencies:
npm install
-
Create a
.env
file in thebackend
directory with the following content:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret EMAIL_USER=your-email@gmail.com EMAIL_PASS=your-email-password
-
Start the backend server:
npm start
-
Navigate to the frontend directory:
cd task-management-app
-
Install dependencies:
npm install
-
Start the frontend server:
ng serve
- The backend server will run on
http://localhost:3000
. - The frontend server will run on
http://localhost:4200
.
- POST /api/auth/signup: Create a new user
- POST /api/auth/login: Authenticate a user and get a token
- POST /api/auth/forgot-password: Send password reset email
- POST /api/auth/reset-password/:token: Reset user password
- GET /api/tasks: Get all tasks
- POST /api/tasks: Create a new task
- PUT /api/tasks/:id: Update a task
- DELETE /api/tasks/:id: Delete a task
- Sign Up: Create a new account by navigating to the sign-up page.
- Log In: Log in with your credentials to access the expense tracker.
- Forgot Password: If you forget your password, use the forgot password link to reset it.
- Reset Password: Follow the instructions in the reset password email to set a new password.
- Add Task: Click on the add task button to create a new task. Fill in the details and click save.
- View Task: Click on a task to view its details.
- Edit Task: Click the edit button to update a task.
- Delete Task: Click the delete button to remove a task.
This project is licensed under the MIT License. See the LICENSE file for details.