Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/lucasvmarangoni/tasklist

API REST, para aplicação de lista de tarefas, desenvolvida com Node.js, Express e Typescript. Aplica testes unitários e end to end, mocks, in memory database, validações, DDD, TDD, designers pattern, princípios SOLID, tratamento de exceções, status code, logging, cache, graceful shutdown, autenticação (local), workflow e doc. OpenAPI
https://github.com/lucasvmarangoni/tasklist

bcript express express-openapi graceful-shutdown http-status-codes json-web-token mongodb mongodb-atlas node-config nodejs openapi overnightjs pino prisma-studio supertest typescript vitest

Last synced: about 2 months ago
JSON representation

API REST, para aplicação de lista de tarefas, desenvolvida com Node.js, Express e Typescript. Aplica testes unitários e end to end, mocks, in memory database, validações, DDD, TDD, designers pattern, princípios SOLID, tratamento de exceções, status code, logging, cache, graceful shutdown, autenticação (local), workflow e doc. OpenAPI

Awesome Lists containing this project

README

        
















# Projeto Lista de Tarefas

# (Backend)
![version](https://img.shields.io/badge/version-2.1.0-white)



## Projeto

O projeto é uma API REST para servir uma aplicação de Lista de tarefas, seguindo o padrão CRUD, com sistema de notificação.

- Projeto planejado e desenvolvi por mim.
- Finalidade: aprendizado, prática e portfólio.


### Objetivo

Inicialmente teve o objetivo de consolidar meus conhecimentos de Back-end e Engenharia de Software, além de praticar a utilização de Node.js com Express e Prisma Studio. O objetivo agora é continuar utilizando esse projeto para praticar, aprimorando-o com as novas habilidades, tecnologias e ferramentas que adquiro.


## Instalação

npm i

### Database
É necessário criar um cluster no MongoDB Atlas ou configurar um banco de dados mongoDB para o prisma studio. A url deve ser colocada em uma variável de ambiente no arquivo .env nomeada de DATABASE_URL.
- Recomendo criar o cluster no Atlas, pois será muito mais rápido e fácil.

## Tecnologias




v2.0.0
v2.1.0



TypeScript
Overnight.js


Node.js
Http status codes


Express
Pino


SQLite
Express pino logger


Prisma Studio
Node cache


Vitest
Supertest


Class-validator
SQLite → MongoDB



MongoDB Atlas


Swagger-ui express



Express openapi validator



Express rate limit



Github actions



Node Config



Bcrypt



Json Web Token


## Registro de Desenvolvimento

- Link para o código da versão nas badges.


![version](https://img.shields.io/badge/version-1.0.0-white)


O projeto teve seu desenvolvimento iniciado com um back-end simples e básico.




![version](https://img.shields.io/badge/version-2.0.0-white)


O projeto passou a ser uma API REST, CRUD, com sistema de notificação, desenvolvida com Node.js, Express e Typescript, aplicando testes unitários,
validações, DDD, TDD, in memory database, factory pattern, singleton, inversão de dependência e princípios SOLID.




![version](https://img.shields.io/badge/version-2.1.0-black)


Nesta atualização, estou aprimorando testes, mocks, testes end to end, tratando erros, status code, logging, cache, graceful
shutdown, troca do banco de dados, documentação OpenAPI, workflow, autenticação com criptografia e refatoração.