API do projeto AmigoPet-api, desenvolvida como parte do projeto acadêmico do Senac.
O AmigoPet-api é uma aplicação para gerenciamento dos pets, permitindo o controle de consultas, veterinários e demais funcionalidades relacionadas aos cuidados com animais de estimação.
- Node.js (versão recomendada: 14.x ou superior)
- NPM
- Banco de dados (conforme configurado no projeto)
- Clone o repositório:
git clone https://github.com/seu-usuario/AmigoPet-api.git
cd AmigoPet-api- Instale as dependências:
npm install- Configure as variáveis de ambiente:
- Copie o arquivo de exemplo para
.env:
- Copie o arquivo de exemplo para
# Unix/macOS
cp .env.example .env
# Windows (PowerShell)
Copy-Item .env.example .env- Abra
.enve preencha as variáveis necessárias:- DB_USERNAME=
- DB_PASSWORD=
- DB_NAME=
- DB_HOST=
- JWT_SECRET=
- Crie e prepare o banco de dados PostgreSQL (exemplo usando psql):
# criar o banco (ajuste usuário/host conforme necessário)
psql -U <DB_USERNAME> -h <DB_HOST> -c "CREATE DATABASE <DB_NAME>;"
# ou usando createdb
createdb -U <DB_USERNAME> -h <DB_HOST> <DB_NAME>- Execute as migrações para criar as tabelas:
# cria o banco (se ainda não criado) e aplica migrações
npx sequelize-cli db:create
npm run mig- Inicie a API em modo de desenvolvimento:
npm run dev- Verifique o health da API:
curl http://localhost:3000/healthObservações:
- Não comite o arquivo
.envcom segredos. Use variáveis de ambiente seguras em produção. - Se você estiver usando Docker ou outra infraestrutura, ajuste os comandos de criação do banco conforme necessário.
- Para iniciar o servidor em modo de desenvolvimento:
npm run dev- Para iniciar em modo de produção:
npm startO servidor estará disponível em http://localhost:<PORTA> (a porta padrão é 3000, a menos que seja configurada diferente no arquivo .env).
As principais rotas disponíveis são:
/api/users- Gerenciamento de usuários
O frontend deste projeto está disponível em um repositório separado: AmigoPet Frontend
Para contribuir com o projeto, siga as boas práticas de desenvolvimento, crie branches para novas funcionalidades e envie pull requests para revisão.
Este projeto está licenciado sob a licença MIT