Este projeto é um sistema simples de gerenciamento para um petshop, desenvolvido com Node.js e Sequelize, utilizando um banco de dados SQLite.
O sistema permite o gerenciamento de Gatos e Serviços com as seguintes funcionalidades:
- Cadastrar Gato: Adicionar um novo gato ao sistema.
- Listar Gatos: Listar todos os gatos ou um gato específico por ID.
- Atualizar Gato: Atualizar os dados de um gato específico.
- Excluir Gato: Remover um gato do sistema.
- Autenticação com JWT: Proteção de rotas usando tokens JWT.
- Cadastrar Serviço: Adicionar um novo serviço ao sistema.
- Listar Serviços: Listar todos os serviços ou um serviço específico por ID.
- Atualizar Serviço: Atualizar os dados de um serviço específico.
- Excluir Serviço: Remover um serviço do sistema.
- Node.js: Ambiente de execução para JavaScript no lado do servidor.
- Express: Framework para criar APIs.
- Sequelize: ORM para interação com o banco de dados.
- SQLite: Banco de dados local para persistência de dados.
- JWT: JSON Web Token para autenticação.
.
├── controller # Controladores das funcionalidades
├── db # Configuração do banco de dados
├── model # Modelos das tabelas do banco
├── routes # Rotas da API
├── petshop.sqlite # Banco de dados SQLite
├── app.js # Arquivo principal
└── README.md # Documentação
- Node.js (versão mais recente)
- npm ou yarn para gerenciar pacotes.
-
Clone o repositório:
git clone https://github.com/dgkeven/banco-de-dados-petshop.git
-
Acesse a pasta do projeto:
cd sistema-petshop
-
Instale as dependências:
npm install
-
Execute o servidor:
npm start
-
O servidor estará rodando em:
http://localhost:3306
-
POST
/add_gato
Cadastrar um novo gato. -
GET
/gatos/:id?
Listar gatos (opcionalmente por ID, protegido por JWT). -
PUT
/gatos/:id
Atualizar os dados de um gato. -
DELETE
/gatos/:id
Excluir um gato.
-
POST
/add_servico
Cadastrar um novo serviço. -
GET
/listar/:id?
Listar serviços (opcionalmente por ID). -
PUT
/servicos/:id
Atualizar os dados de um serviço. -
DELETE
/servicos/:id
Excluir um serviço.
- POST
/login
Criar um token JWT para autenticação.
- O banco utilizado é SQLite, que armazena os dados localmente no arquivo
petshop.sqlite
. - As tabelas principais são:
gatos
: Contém informações dos gatos.servicos
: Contém informações dos serviços.
- Certifique-se de que o arquivo
.env
esteja corretamente configurado com uma chave secreta (SECRET
) para o JWT. - Para proteger rotas com JWT, utilize o middleware
verificaJWT
presente nogatoController
.
Este projeto é livre para uso e modificação.
Feito por Keven Mendes.