- O desafio consiste em cria uma API RESTful com Node.js capaz de realizar um CRUD, além de integrar a API desenvolvida ao Front-end em React, utilizando Typescript tanto no Back-end quanto no Front-end.
- TypeScript
- Vite
- Axios
- Express
- Prisma
- Docker
- Zod
- react-hook-form
- Dayjs
- Styled-components
- Radix
- Com o projeto/desafio construído totalmento com Typescript, decidi usar as melhores tecnologias atuais para o ecossistema React e Node. Aqui destaco duas bibliotecas de suma importância para um desenvolvimento ágil, sendo elas:
-
Zod: Biblioteca excelente para validação tanto no Front-end quanto no Back-end, possui validações nativas e flexibilidade para validações customizadas, além de ter uma grande compatibilidade com o Typescript, como por exemplo inferências de tipos.
-
Prisma: um Typescript ORM que possui grande compatibilidade com diversos Banco de Dados, como por exemplo MySQL, PostgreSQL, entre outros. O que se destaca nele são as migrations automatizadas e models intuítivos.
- Front-end está rodando em: http://localhost:5173
- Back-end está rodando em: http://localhost:3000
-
Entre na pasta API;
-
Use o comando: yarn ou npm install/i para instalar os pacotes;
-
Use os seguintes comandos para configurar o ambiente Docker com Prisma:
- use o comando: docker compose up na pasta root da API;
- use o comando(script): npm run migrate-dev
- use o comando: npm run dev para rodar a aplicação backend;
- Seguindo esses comandos a API estará rodando em: http://localhost:3000
- Arquivo .env e docker-compose.yml estão com variáveis expostas no repositório para SOMENTE facilitar a configuração do projeto. É de suma importância para a segurança do projeto que variáveis de ambientes não estejam 'commitadas', ou seja, expostas.
-
Entre na pasta Desafio-Hospeda-Eventos;
-
Use o comando: yarn ou npm install/i para instalar os pacotes(Back-end e Front-end);
-
use o comando para rodas ambas aplicações:
npm run dev
# or
yarn dev
# or
pnpm dev