TaScheduler API is a backend project that provides clients with multiple endpoints for scheduling and managing a user's tasks.
- Authenticated and Authorized.
- Reset password.
- Multiple projects with multiple tasks.
- Each task can have multiple todos.
- Node cron tasks for checking task status (overdue, completed and started).
- Supports real time notifications (under development).
- Multiple languages for server respones only.
HTTP Verbs | Endpoints | Action |
---|---|---|
POST | /api/auth/register | Create a new user account |
POST | /api/auth/login | Login an existing user account |
POST | /api/auth/forgotpassword | Request a reset password to an existing account |
POST | /api/auth/resetpassword/:token | Set a new password |
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | /api/user | Retrieve all users |
GET | /api/user?limit=10 | Retrieve all users with pagination of 10 documents |
GET | /api/user/profile | Retrieve logged in user profile |
GET | /api/user/:slug | Retrieve user informations by slugyifed username |
PUT | /api/user | Edit User profile |
DELETE | /api/user | Delete user account |
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | /api/project | Retrieve all projects |
GET | /api/project?limit=10 | Retrieve all projects with pagination of 10 documents |
POST | /api/project | Create a project |
PUT | /api/project | Edit a project informations |
DELETE | /api/project | Delete project account |
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | /api/task | Retrieve all tasks |
GET | /api/task?limit=10 | Retrieve all tasks with pagination of 10 documents |
POST | /api/task | Create a task |
POST | /api/task/:id/todo | Add a todo to a task |
PUT | /api/task | Edit a task informations |
PUT | /api/task/:id/complete | Mark task as completed |
PUT | /api/task/:id/todo/:todoId | Edit a todo description |
PUT | /api/task/:id/todo/:todoId/check | Mark a todo as completed |
DELETE | /api/task | Delete task account |
DELETE | /api/task/:id/todo/:todoId | Remove a todo from task |
- NodeJS This is a cross-platform runtime environment built on Chrome's V8 JavaScript engine used in running JavaScript codes on the server. It allows for installation and managing of dependencies and communication with databases.
- ExpressJS This is a NodeJS web application framework.
- MongoDB This is a free open source NOSQL document database with scalability and flexibility. Data are stored in flexible JSON-like documents.
- Mongoose Mongoose provides a straight-forward, schema-based solution to model your application data. It includes built-in type casting, validation, query building, business logic hooks and more, out of the box.
- Socket.io Socket.IO is an event-driven library for real-time web applications.