Uma API RESTful desenvolvida como parte de um projeto acadêmico para simular o sistema de gerenciamento de uma locadora de filmes. O objetivo principal foi aplicar os conhecimentos na construção de APIs com Node.js e Express, marcando a primeira integração de um back-end com um banco de dados relacional (MySQL) utilizando o ORM Prisma.
Este projeto recria a lógica de negócio para o gerenciamento completo de um catálogo de locadora. A API foi estruturada para ser um exercício prático de back-end, servindo como aprendizado fundamental para entender a criação de múltiplos endpoints, o tratamento de requisições (CRUD completo), a modelagem de dados relacional e a persistência de dados com o Prisma.
A API oferece endpoints para CRUD (Criar, Ler, Atualizar, Deletar) das seguintes entidades:
- Gerenciamento de Filmes
- Gerenciamento de Atores
- Gerenciamento de Diretores
- Gerenciamento de Produtores
- Gerenciamento de Gêneros
- Gerenciamento de Classificações
- Gerenciamento de Estúdios
- Node.js
- Express
- Prisma (ORM)
- Cors
- Body-Parser
- MySQL
A documentação completa dos endpoints, com detalhes sobre as rotas, parâmetros esperados e exemplos de respostas, está definida no arquivo openapi.yaml (especificação OpenAPI/Swagger) localizado na pasta database/.
Visualizar a Documentação (openapi.yaml)
(Nota: Para uma visualização interativa, você pode carregar este arquivo em um visualizador de Swagger, como o Swagger Editor)
Para executar o projeto em seu ambiente local, siga os passos abaixo.
Pré-requisitos:
- Node.js (versão 18 ou superior).
- NPM ou Yarn.
- Um servidor de banco de dados MySQL rodando localmente.
Passo a passo:
-
Clone o repositório:
git clone https://github.com/GabryelFillipe/PBE-API-Filme.git
-
Acesse a pasta do projeto:
cd PBE-API-Filme-29e0e579ee05880c6bd510f7777f0e70532dfcad -
Instale as dependências:
npm install
-
Configure as variáveis de ambiente:
- Crie um arquivo
.envna raiz do projeto (você pode copiar o conteúdo doenv.example, se houver, ou usar o arquivo.envfornecido). - Configure a variável
DATABASE_URLcom a string de conexão do seu banco de dados MySQL. - (Execute os scripts SQL (
script banco locadora.sqlouScript locadora-atualizado.sql) no seu banco de dados para criar as tabelas).
- Crie um arquivo
-
Gere o cliente Prisma: Este comando sincroniza o cliente Prisma com seu schema (embora o projeto use SQL raw, o cliente é necessário).
npx prisma generate
-
Inicie o servidor:
node app.js
O servidor estará rodando em http://localhost:8080.
Este projeto foi desenvolvido por Gabryel Fillipe. Conecte-se comigo!