Nesta atividade o objetivo é colocar em prática os conhecimentos relacionados às definições de serviços web e suas aplicações.
Portanto, é proposto um problema com escopo bastante restrito: gestão de alunos de uma disciplina.
Uma pequena aplicação que fará a gestão do registro de alunos de uma disciplina. Essa aplicação deverá permitir a inserção, alteração e consulta de alunos. Detalhes de cada uma das funcionalidades que deverão ser implementadas.
Foram utilizadas práticas de Clean Code e Clean Architecture para o desenvolvimento dessa aplicação.
- Node
- TypeScript
- TypeORM
- Express
- MySQL
- Postgres
- SQLite
- Redis
- Visual Studio Code (VSCode).
- Docker
Recomenda-se o uso da extensão Remote Development Container para execução adequada do ambiente de desenvolvimento. Este foi criado utilizando containers com variáveis de ambiente pré-configuradas possibilitando a execução de toda a aplicação. Os containers são:
- restfull-students-app: container da aplicação
- restfull-students-db-mysql: : container do banco de dados MySQL
- restfull-students-db-postgres: container do banco de dados PostgreSQL
- restfull-students-cache-redis: : container de cache Redis
Para executar corretamente o projeto é necessário ter NodeJS, NPM, Docker e VSCode instalados.
npm install
npm run dev
npm run test
A variável de ambiente CURRENT_DATABASE
define o banco de dados a ser utilizado pela aplicação (por padrão é SQLite em memória). Os valores possíveis são:
-
mysql
-
postgres
-
sqlite (
:memory:
é o padrão)# PostgreSQL database POSTGRES_HOST= POSTGRES_PORT= POSTGRES_USER= POSTGRES_PASSWORD= POSTGRES_DATABASE= # MySQL database MYSQL_HOST= MYSQL_PORT= MYSQL_USER= MYSQL_PASSWORD= MYSQL_DATABASE= # SQLite database filename SQLITE_DATABASE= # Choose the database of application (mysql, postgres, sqlite) CURRENT_DATABASE=
Distribuído sob a licença MIT. Veja LICENSE
para mais informações.
Guilherme Carvalho - Linkedin - [email protected]