-
Uma API RestFull NodeJs Express, com MySql by Docker, em TypeScript, com Classes (POO) e princípios S.O.L.I.D. aplicados.
-
Frameworks [ JWT, BCrypt, CORS, JOI, Swagger, Helmet, MySql2, Express ]
-
o FrondEnd foi aplicado pela Trybe, meu trabalho foi disponibilizar uma API para salvar gerenciar e fornecer informações de uma tabela com resultados de jogos de um campeonato de futebol.
API doc by Swagger (click to checkout)
Site - TFC-Leader_Board - (click to checkout)
- user = [email protected]
- pass = admin_secret
- on default directory run commands below and checkout your localhost:3000
$ npm install
$ npm run compose:up
- Leitura atenta das orientações iniciais;
- Bibliotecas instaladas no BackEnd:
$ npm i joi cors @types/cors express-async-errors uuidv4
- Bibliotecas declaradas em
packages.npm
para os testes:
joi
cors
@types/cors
uuidv4
express-async-errors
- Variaveis configuradas em
.env
:
JWT_SECRET=jwt_secret
APP_PORT=3001
DB_USER=root
DB_PASS=123456
DB_HOST=db
DB_PORT=3002
- rodando o comando
npm run build
na pasta do back-end para fazer o build da aplicação;
- Front-End:
FROM node:16.14-alpine
WORKDIR /app-frontend
COPY package* ./
RUN npm install
COPY . .
CMD ["npm", "start"]
- Back-End:
FROM node:16.14-alpine
WORKDIR /app-backend
COPY package* ./
RUN npm install
COPY . .
RUN npx tsc
CMD ["npm", "start"]
$ npm install bcrypt
$ npm install helmet
$ npm i
-
@types/swagger-ui-express
-
swagger-autogen
-
swagger-ui-express