API RESTful para gerenciamento de contatos e categorias, com documentação via Swagger e testes automatizados com Jest.
O ContactHub permite criar, visualizar, editar e excluir contatos, organizando-os por categorias. É uma aplicação fullstack com backend em Node.js e frontend em React.
- Node.js + Express
- PostgreSQL
- Jest + Supertest
- ESLint + Prettier
- Dotenv
- Swagger
- Vite
- Node.js (versão 18 ou superior recomendada)
- PostgreSQL
- Yarn
Observações:
- Docker e Insomnia foram utilizados no desenvolvimento, mas não são obrigatórios.
- O banco de dados principal deve ser criado manualmente.
- O banco de testes é criado via script.
git clone https://github.com/pegorara/contacthub.git
cd contacthubyarn- Crie um banco de dados PostgreSQL (o nome pode ser configurado no arquivo .env).
- Copie o arquivo env.example para .env e preencha as variáveis de ambiente necessárias.
- O schema do banco de dados já está disponível nos arquivos do projeto (em
src/database/schema.sql). Execute o schema para criar as tabelas:
psql -U usuario -d contacthub -f src/database/schema.sqlyarn devO servidor estará rodando em http://localhost:3000
A documentação da API está disponível em /api-docs usando o Swagger. Após iniciar o servidor, acesse:
http://localhost:3000/api-docsO Swagger fornece uma interface interativa para explorar e testar todos os endpoints da API.
A aplicação inclui testes automatizados para os controllers ContactController e CategoryController. Para mais detalhes sobre como executar os testes e sua estrutura, consulte o link