Skip to content

GabryelFillipe/PBE-API-Filme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API de Locadora de Filmes

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.

Descrição do Projeto

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.

Funcionalidades

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

Tecnologias Utilizadas

  • Node.js
  • Express
  • Prisma (ORM)
  • Cors
  • Body-Parser
  • MySQL

Documentação da API

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)

Instalação e Execução

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:

  1. Clone o repositório:

    git clone https://github.com/GabryelFillipe/PBE-API-Filme.git
  2. Acesse a pasta do projeto:

    cd PBE-API-Filme-29e0e579ee05880c6bd510f7777f0e70532dfcad
  3. Instale as dependências:

    npm install
  4. Configure as variáveis de ambiente:

    • Crie um arquivo .env na raiz do projeto (você pode copiar o conteúdo do env.example, se houver, ou usar o arquivo .env fornecido).
    • Configure a variável DATABASE_URL com a string de conexão do seu banco de dados MySQL.
    • (Execute os scripts SQL (script banco locadora.sql ou Script locadora-atualizado.sql) no seu banco de dados para criar as tabelas).
  5. 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
  6. Inicie o servidor:

    node app.js

O servidor estará rodando em http://localhost:8080.

Autor

Este projeto foi desenvolvido por Gabryel Fillipe. Conecte-se comigo!

LinkedIn

About

[Back-end] API REST desenvolvida para o gerenciamento completo de um catálogo de filmes. Permite o registro, consulta, atualização e exclusão de filmes e categorias.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors