Sistema Full Stack para gerenciamento de clientes e contatos.
- Sobre o Projeto
- Funcionalidades
- Tecnologias Utilizadas
- Estrutura do Projeto
- Como Rodar o Projeto
- Comandos Principais
O Contacts List é uma aplicação web para cadastro, listagem e gerenciamento de clientes e seus contatos. O sistema possui autenticação, controle de acesso e exportação de relatórios em PDF.
- Cadastro, login e autenticação de clientes
- CRUD de clientes e contatos
- Listagem de contatos por cliente
- Exportação de contatos em PDF
- Interface responsiva
- Back-end:
- Node.js, NestJS, TypeScript
- Prisma ORM, PostgreSQL
- JWT para autenticação
- Front-end:
- React, TypeScript, Vite
- Styled-components
- React Hook Form, Zod
- Axios
- Outros:
- Docker, Docker Compose
5. Contacts List/
├── back-end/ # API NestJS + Prisma
├── front-end/ # Aplicação React + Vite
├── docker-compose.yml
└── README.md
- Docker e Docker Compose instalados
- Node.js e npm (opcional, para rodar sem Docker)
- Crie um arquivo
.envna raiz com as variáveis necessárias (PORT, PGPORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB, DATABASE_URL). - Execute:
docker-compose up --build
- O back-end estará em
http://localhost:<PORT>e o front-end emhttp://localhost:3000.
- Entre na pasta
back-end:cd back-end npm install npx prisma migrate dev npm run start:dev - Configure o banco PostgreSQL e a variável
DATABASE_URL.
- Entre na pasta
front-end:cd front-end npm install npm run dev
npm run start:dev— inicia o servidor em modo desenvolvimentonpx prisma migrate dev— executa as migrations do banconpm run test— executa os testes
npm run dev— inicia o front-end em modo desenvolvimentonpm run build— build de produção