Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/irenaeus-xvi/taskerpro
TaskerPro is a task management application built using Express and Mongoose, allowing users to manage their tasks efficiently. Users can sign up, log in, add tasks, update task status, and perform various other actions to organize their tasks effectively.
https://github.com/irenaeus-xvi/taskerpro
authentication bcrypt bcryptjs dotenv expressjs global-error-handling joi-validation jsonwebtoken mongodb mongoose nodejs nodemailer validation-error
Last synced: about 1 month ago
JSON representation
TaskerPro is a task management application built using Express and Mongoose, allowing users to manage their tasks efficiently. Users can sign up, log in, add tasks, update task status, and perform various other actions to organize their tasks effectively.
- Host: GitHub
- URL: https://github.com/irenaeus-xvi/taskerpro
- Owner: Irenaeus-XVI
- Created: 2023-07-31T23:18:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-16T23:05:52.000Z (over 1 year ago)
- Last Synced: 2024-10-12T18:26:20.313Z (2 months ago)
- Topics: authentication, bcrypt, bcryptjs, dotenv, expressjs, global-error-handling, joi-validation, jsonwebtoken, mongodb, mongoose, nodejs, nodemailer, validation-error
- Language: JavaScript
- Homepage:
- Size: 4.41 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TaskerPro
TaskerPro is a task management application built using Express and Mongoose, allowing users to manage their tasks efficiently. Users can sign up, log in, add tasks, update task status, and perform various other actions to organize their tasks effectively.
## Features
- User Authentication: Users can sign up and log in securely using hashed passwords. Token-based authentication is used to protect API endpoints.
- Task Management: Users can add tasks, update task details, and change the status of tasks (To-Do, Doing, Done).
- User Profile: Users can update their profile information such as age, first name, and last name.
- Task Filtering: The app provides filters to get tasks for a specific user and tasks that are not completed after the deadline.
## Technologies Used
- Node.js
- Express.js
- MongoDB (Mongoose)
- JSON Web Tokens (JWT) for authentication
- Bcrypt for password hashing## Getting Started
To run the application locally, follow these steps:
1. Clone the repository:
`git clone https://github.com/Irenaeus-XVI/New-folder.git`
2. Install dependencies:
`cd TaskerPro`
`npm install`
3. Set up environment variables:
Create a `.env` file in the root directory and provide the following variables:
`PORT=3000`
`MONGODB_URI=your_mongodb_connection_string`
`SECRET_KEY=your_secret_key_for_jwt`
`SALT_ROUNDS=10`
4. Run the app:
`npm start`
The server will start on `http://localhost:3000`.
the user API provides endpoints for user registration, login, updating user information, deleting users, and more.
- **POST** `/user/signUp`: Register a new user.
- **POST** `/user/signIn`: Login and get an access token.
- **PUT** `/user/changePassword`: Change the user's password (authentication required).
- **PUT** `/user/updateUser`: Update user information (authentication required).
- **DELETE** `/user/deleteUser`: Delete the user account (authentication required).
- **DELETE** `/user/softDelete`: Soft delete the user account (authentication required).
- **GET** `/user/logOut`: Logout and invalidate the access token (authentication required).### Task API
The task API provides endpoints for adding tasks, updating task information, deleting tasks, and retrieving tasks.
- **POST** `/task/addTask`: Add a new task (authentication required).
- **PUT** `/task/updateTask`: Update task information (authentication required).
- **DELETE** `/task/deleteTask`: Delete a task (authentication required).
- **GET** `/task/getAllTasksWithUserData`: Get all tasks with user data.
- **GET** `/task/getAllTasksOfOneUser`: Get all tasks of a specific user (authentication required).
- **GET** `/task/getAllTasksThatNotDoneAfterDeadline`: Get all tasks that are not done after the deadline.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
## Author
[Irenaeus-XVI](https://github.com/Irenaeus-XVI)