An open API service indexing awesome lists of open source software.

https://github.com/ciceroeduardo84/task-manager-api

Task Manager is a Full Stack application developed in React and Node.js to complete the Web Development Course offered by Reprograma Jucás. It was created with the aim of providing users with a tool to manage and monitor their tasks in an organized and intuitive way.
https://github.com/ciceroeduardo84/task-manager-api

api backend bcrypt cors jwt-authentication nodejs restful-api sqlite task-manager typescript vitest web-development-course zod

Last synced: 4 months ago
JSON representation

Task Manager is a Full Stack application developed in React and Node.js to complete the Web Development Course offered by Reprograma Jucás. It was created with the aim of providing users with a tool to manage and monitor their tasks in an organized and intuitive way.

Awesome Lists containing this project

README

          

# Task Manager - RESTfull API

## Entity Relationship Diagram

![ERD](./erd.png)

## Technologies

- `Node.js`
- `Typescript`
- `Express`
- `JSON Web Token (JWT)`
- `Bcrypt`
- `Sqlite`
- `Vitest`
- `Zod`

## Installation

```bash
# clone project
$ git clone https://github.com/CiceroEduardo84/Task-Manager-API.git

# install dependencies
$ npm install

# run api
$ npm run dev
```

## Environment Variables

```ini
PORT=""
SECRET_TOKEN=""
EXPIRESIN_TOKEN=""
KEY_TOKEN=""
```

## Routes

| Functionality | Method | Endpoint | Description |
| ------------- | -------- | --------- | ----------------------------- |
| Auth | `POST` | /login | Start the user session |
| | `POST` | /logout | Close the user session |
| User | `GET` | /user | Return user informations |
| | `POST` | /user | Create a new user |
| Tasks | `POST` | /task | Add a new task |
| | `GET` | /tasks | Return **\*pagination** tasks |
| | `PUT` | /task/:id | Update an existing task |
| | `DELETE` | /task/:id | Remove an existing task |

**\*Pagination parameters**

- `limit:` Number of items per page.
- `offset:` Offset index.
- `filter:` Filter options `"all"`, `"completed"`, `"pending"`, `"late"`.
- Query example: `"/tasks?limit=10&offset=0&filter=all"`.

## Links

- [Deploy](https://task-manager-gamma-plum.vercel.app/)
- [Front Repository](https://github.com/CiceroEduardo84/Task-Manager)