368214756-cb45546f-88de-4c97-a723-a62caa3a5aae.mp4
Este projeto é composto por duas partes principais: web e server.
- A pasta
webabriga o front-end, desenvolvido com React, Vite e TypeScript. - A pasta
serverconcentra o back-end, utilizando Node.js, Docker e Fastify.
Trata-se de um aplicativo desktop voltado para o acompanhamento semanal do progresso de metas.
Para lidar com a estrutura do banco de dados, utilizamos o Drizzle Kit:
- Modelo de Banco de Dados: Contém duas tabelas principais -
goal_completionsegoals, ambas interligadas por chaves primárias e estrangeiras. - Criação de Migração: O comando
npx drizzle-kit generategera scripts SQL que registram as alterações estruturais no banco de dados e são armazenados em.migrations. - Execução das Migrações: Aplicação das alterações com
npx drizzle-kit migrate, garantindo sincronização com o código.
Certifique-se de ter o Docker e o Node.js instalados antes de iniciar.
-
Clone este repositório:
git clone https://github.com/akewin/NLW-JS
-
Acesse a pasta do back-end:
cd NLWPocketJS/server -
Instale as dependências:
npm install
-
Inicie o servidor:
npm run dev
-
O back-end estará disponível em http://localhost:3333.
-
Para o front-end, entre na pasta correspondente:
cd ../web -
Instale as dependências:
npm install
-
Inicie o servidor de desenvolvimento:
npm run dev
-
O front-end poderá ser acessado em http://localhost:3000.
- Criar tabelas:
npx drizzle-kit generate
- Aplicar migrações:
npx drizzle-kit migrate
- Inspecionar banco de dados:
npx drizzle-kit studio
- Inicializar containers Docker:
docker compose up -d
- Criar container:
docker-compose up -d