Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Locadora de Mídias — Projeto Ruby on Rails (IDSW)

Ruby Rails React Vite TailwindCSS MariaDB Docker License

Aplicação full‑stack para gerenciar aluguel de mídias (filmes).
Backend: Ruby on Rails | Frontend: React (Vite + Tailwind) | Banco: MariaDB (Docker)

Autores: Fernanda M. (Sunref), Gabriel M. (gm64x), Kevin D. (kdz-22)


Visão rápida

  • Backend: API em Ruby on Rails (Ruby 3.3.x, Rails 8.1)
  • Frontend: React + Vite, estilos com Tailwind CSS
  • Banco: MariaDB (container via Docker Compose)
  • Seeds / esquema: Ruby/database/locacao_midias.sql

Este README traz instruções concisas para rodar o projeto localmente. Se quiser, eu posso documentar os endpoints da API ou gerar um docker-compose.yml unificado para backend + db + frontend.


Estrutura relevante

  • Ruby/locadora — aplicação Rails (backend)
  • Ruby/frontend — aplicação React (frontend)
  • Ruby/database/locacao_midias.sql — DDL + inserts (dados de exemplo)
  • Ruby/compose.yml — Compose para o serviço MariaDB
  • Ruby/comandos.txt — comandos úteis

Pré-requisitos

  • Docker & Docker Compose
  • Ruby (recomendado via RVM) — v3.3.4
  • Bundler (gems) — via bundle install
  • Node.js & npm (frontend)

Quick Start (3 passos)

  1. Suba o banco (MariaDB)
cd Ruby
docker-compose -f compose.yml up -d db

O container criará o banco locacao_midias e executará o script Ruby/database/locacao_midias.sql com dados de exemplo.

  1. Backend (Rails)
cd Ruby/locadora
# opcional: rvm install "ruby-3.3.4"
gem install bundler
bundle install
./bin/rails db:prepare
./bin/rails server -b 0.0.0.0 -p 3000

A API ficará disponível em http://localhost:3000.

  1. Frontend (Vite + React)
cd Ruby/frontend
npm install
npm run dev

O frontend costuma rodar em http://localhost:5173. Ajuste a URL da API no frontend se necessário.


Credenciais padrão (compose)

Ver Ruby/compose.yml. Valores padrão usados:

  • usuário: admin
  • senha: 123
  • database: locacao_midias
  • root password: admin123

Atualize Ruby/locadora/config/database.yml (ou variáveis de ambiente) se precisar alterar conexão.


Banco de dados

O arquivo Ruby/database/locacao_midias.sql contém:

  • DDL para tabelas (estado, cidade, cliente, ator, genero, classificacao_etaria, tipo, classificacao_interna, midia, locacao, exemplar, item_locacao)
  • Inserts com conjuntos de teste (clientes, atores, mídias, exemplares etc.)

Use-o como referência do modelo de domínio ou para repopular dados.


Dicas rápidas

  • Windows: prefira WSL para executar Ruby/Rails sem problemas com gems nativas.
  • CORS: a gem rack-cors já está no Gemfile; valide sua configuração caso frontend/backend estejam em origens diferentes.
  • Conexão DB: use host: db quando Rails estiver em container; em ambiente local, verifique config/database.yml.
  • Recriar DB com seed:
cd Ruby
docker-compose -f compose.yml down -v
docker-compose -f compose.yml up -d db

Próximos passos (sugestões)

  • Documentar rotas/endereços da API (rails routes)
  • Criar docker-compose.yml que suba backend + db + frontend
  • Adicionar scripts de setup (scripts/setup.sh) e um .env.example
  • Gerar README em inglês

Contribuições

Fork → branch → PR. Inclua descrição das mudanças e passos para validar.


Créditos

Projeto para a disciplina IDSW — Prof. David Buzatto.
Autores: Fernanda M., Gabriel M., Kevin D.

About

Aplicação full-stack de locadora de mídias com Ruby on Rails, React, MariaDB e Docker.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Used by

Contributors

Languages