Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/lucasvmarangoni/tasklist
- Owner: Lucasvmarangoni
- License: mit
- Created: 2023-01-20T22:48:31.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-25T20:21:38.000Z (over 1 year ago)
- Last Synced: 2024-10-12T13:12:40.708Z (3 months ago)
- Topics: 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
- Language: TypeScript
- Homepage:
- Size: 375 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license
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.