Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/isabelle-moura/task-manager-api
Este é o meu projeto Task Manager teste técnico para a Tecno Fábrica.
https://github.com/isabelle-moura/task-manager-api
api backend nestjs postgresql typeorm typescript
Last synced: 21 days ago
JSON representation
Este é o meu projeto Task Manager teste técnico para a Tecno Fábrica.
- Host: GitHub
- URL: https://github.com/isabelle-moura/task-manager-api
- Owner: Isabelle-Moura
- Created: 2024-09-06T23:14:45.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-09-07T01:08:20.000Z (4 months ago)
- Last Synced: 2024-11-10T04:08:53.413Z (2 months ago)
- Topics: api, backend, nestjs, postgresql, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Task Manager API
## Descrição
Uma API simples para gerenciamento de tarefas, desenvolvida com Nest.js, TypeScript, TypeORM e PostgreSQL. Permite criar, atualizar, listar e excluir tarefas com base em status e data de criação.
###### _Pssst! English version of this README is available [here](./EN_US.md)._
## Índice
- [Sobre o Projeto](#sobre-o-projeto)
- [Tecnologias Utilizadas](#tecnologias-utilizadas)
- [Funcionalidades](#funcionalidades)
- [Instalação](#instalação)
- [Estrutura de Pastas](#estrutura-de-pastas)
- [Arquivo Insomnia](#arquivo-insomnia)
- [Licença](#licença)
- [Contato](#contato)## Sobre o Projeto
A Task Manager API foi projetada para facilitar o gerenciamento de tarefas. Os usuários podem criar, atualizar, listar e excluir tarefas, além de gerenciar o status de cada uma (PENDING, IN_PROGRESS, DONE).
## Tecnologias Utilizadas no Projeto
- [NestJS](https://nestjs.com/)
- [TypeORM](https://typeorm.io/)
- [Banco de Dados: PostgreSQL](https://www.postgresqltutorial.com/postgresql-getting-started/)
- [TypeScript](https://www.typescriptlang.org/)
- [Class Validator](https://github.com/typestack/class-validator)
- [Class Transformer](https://github.com/typestack/class-transformer)
- [Render](https://render.com/)## Funcionalidades
### Criar tarefa
- **POST** `/tasks`
- Request Body:
```json
{
"title": "string",
"description": "string"
}
```### Listar tarefas
- **GET** `/tasks`
### Atualizar status
- **PATCH** `/tasks/:id/status`
- Request Body:
```json
{
"status": "PENDING | IN_PROGRESS | DONE"
}
```### Excluir tarefa
- **DELETE** `/tasks/:id`
## Instalação
### Pré-requisitos
- Node.js
- npm ou yarn### Passos para instalação
1. Clone o repositório:
```bash
git clone https://github.com/Isabelle-Moura/task-manager-api.git
```2. Instalação de dependências
```bash
$ npm install
```3. Configure as Variáveis de Ambiente
- Crie um arquivo **.env** na **raiz do projeto** com as variáveis de ambiente necessárias;
```
# APP
APP_PORT = Porta que queira utilizar em sua aplicação (3000);## DATABASE
DB_HOST = Host do banco de dados (localhost);
DB_PORT = Porta que seu banco esta ativo (5431);
DB_USERNAME = Nome de usuário do banco de dados (nome_user);
DB_PASSWORD = Senha do banco de dados (123456);
DB_DATABASE = Nome do banco de dados (back-end-metavagas);
```4. Executando o projeto
```bash
# desenvolvimento
$ npm run start# modo observador
$ npm run start:dev# modo produção
$ npm run start:prod
```## Estrutura das Pastas
```task-manager-api/
├── src/
│ ├── database/
│ │ ├── entities/
│ │ │ ├── task.entity.ts
│ │ ├── database.config.ts
│ │ ├── database.module.ts
│ ├── task/
│ │ ├── dtos/
│ │ │ ├── create-task.dto.ts
│ │ │ ├── update-task.dto.ts
│ │ ├── task.controller.ts
│ │ ├── task.module.ts
│ │ ├── task.service.ts
│ ├── utils/
│ │ ├── enum/
│ │ │ ├── task-status.enum.ts
│ ├── app.module.ts
│ ├── main.ts
├── .gitignore
├── package.json
├── README.md
└── tsconfig.json
```## Arquivo Insomnia
Para facilitar o uso das rotas da API, você pode importar o arquivo exportado do Insomnia.
1. Baixe o arquivo Insomnia [aqui](./Insomnia_2024-09-06.json).
2. Abra o Insomnia e vá em `Application > Preferences > Data > Import Data > From File`.
3. Selecione o arquivo baixado e importe as rotas para o Insomnia.## Licença
Nest is [MIT licensed](LICENSE).
## Contato
- [Isa Moura B. Bentes](https://www.linkedin.com/in/isa-moura/)