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)
- 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.
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 MariaDBRuby/comandos.txt— comandos úteis
- Docker & Docker Compose
- Ruby (recomendado via RVM) — v3.3.4
- Bundler (gems) — via
bundle install - Node.js & npm (frontend)
- 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.
- 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.
- 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.
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.
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.
- Windows: prefira WSL para executar Ruby/Rails sem problemas com gems nativas.
- CORS: a gem
rack-corsjá está noGemfile; valide sua configuração caso frontend/backend estejam em origens diferentes. - Conexão DB: use
host: dbquando Rails estiver em container; em ambiente local, verifiqueconfig/database.yml. - Recriar DB com seed:
cd Ruby
docker-compose -f compose.yml down -v
docker-compose -f compose.yml up -d db
- Documentar rotas/endereços da API (
rails routes) - Criar
docker-compose.ymlque suba backend + db + frontend - Adicionar scripts de setup (
scripts/setup.sh) e um.env.example - Gerar README em inglês
Fork → branch → PR. Inclua descrição das mudanças e passos para validar.
Projeto para a disciplina IDSW — Prof. David Buzatto.
Autores: Fernanda M., Gabriel M., Kevin D.