A ideia é desenvolver uma API de cadastro de pessoas profissionais da área da saúde com as funcionalidades de login e cadastro (em três etapas: pré-cadastro, cadastro e pós-cadastro), visando automatizar o processo atual para assim proporcionar uma melhor experiência para os profissionais, fazendo com que eles se cadastrem e se tornem parceiros.
Para a Implantação dessa aplicação, é necessário seguir o seguinte passo-a-passo:
git clone https://github.com/EduardoABG/desafio_voluntarios_gama_lacrei_backend
npm install
tsc
4 - Criar um banco de dados local de acordo com a arquitetura do projeto (Diagrama Entidade-Relacionamento):
-
Criar um arquivo .env na raiz do projeto de acordo com .env.exemplo;
-
Criar o banco de dados
npx sequelize db:create
- Criar as tabelas do banco de dados
npx sequelize db:migrate
- Preencher o banco de dados com as informações pré-definidas
node dist/database/carga_inicial
npm run dev
A aplicação foi desenvolvida com base nos padrões de arquitetura de projeto com o intuito de tornar a aplicação mais simples e flexível para possíveis implementações futuras.
- database: armazena os arquivos de configuração e inicialização do Banco de dados.
- infra: armazena estruturas de configuração da aplicação e middlewares.
- models: armazena a modelagem dos dados e define como eles se relacionam.
- modules: armazena controllers, routes e usecases das requisições.
- repositories: armazena as conexões entre banco de dados e controllers.
- Typescript - Linguagem de programação
- Node.JS - Framework para executar JS fora do navegador
- Express - Framework Node.js para criação de APIs
- Sequelize - Mapeador de objetos relacionais para Node.JS
- bcryptjs - Biblioteca JS para encriptação de dados
- crypto-js - Biblioteca JS de padrões de criptografia
- dotenv - Biblioteca JS para carregar variáveis de ambiente
- jsonwebtoken - Biblioteca de implementação para JWT
- multer - Middleware Node.js para upload de arquivos
- mysql2 - Cliente MySQL para Node.JS
- winston - Biblioteca para cração de loggs
- xlsx - Biblioteca JS para trabalhar com planilhas