Este guia fornece instruções passo a passo para colocar o sistema em funcionamento rapidamente.
- Docker e Docker Compose instalados
- Git instalado
git clone https://github.com/HeitorLouzeiro/agendamento_veiculos.git
cd agendamento_veiculoschmod +x scripts/deploy-production.sh./scripts/deploy-production.shEscolha a opção 1 (Deploy completo) no menu interativo.
Quando solicitado pelo script, digite s para criar um superusuário e forneça:
- Username (ex: admin)
- Email (ex: admin@uespi.br)
- Password (escolha uma senha forte)
Abra seu navegador e acesse:
http://localhost:8000
🎉 Pronto! O sistema está funcionando!
- Acesse: http://localhost:8000/login/
- Use as credenciais criadas no passo 4
- Vá em Cursos → Novo Curso
- Preencha:
- Nome do curso (ex: "Licenciatura em Física")
- Limite de KM mensal (ex: 1000)
- Descrição (opcional)
- Vá em Veículos → Novo Veículo
- Preencha:
- Placa (ex: ABC-1234)
- Modelo (ex: "Fiat Uno")
- Marca (ex: "Fiat")
- Ano (ex: 2020)
- Capacidade de passageiros (ex: 5)
- Vá em Admin → Usuários
- Clique em Adicionar Usuário
- Preencha os dados e selecione tipo "Professor"
- Faça logout e crie uma conta de professor
- Faça login como professor
- Vá em Agendamentos → Novo Agendamento
- Preencha os dados e submeta
- Faça login como admin novamente
- Aprove o agendamento em Aprovações Pendentes
docker-compose logs -f webdocker-compose downdocker-compose up -ddocker-compose exec db pg_dump -U postgres agendamento_veiculos > backup_$(date +%Y%m%d).sqldocker-compose exec web python manage.py shelldocker-compose exec web python manage.py <comando># Parar processo usando a porta
sudo lsof -i :8000
kill -9 <PID># Ver logs
docker-compose logs web
# Rebuild completo
docker-compose down -v
docker-compose build --no-cache
docker-compose up -ddocker-compose exec web python manage.py changepassword <username>docker-compose down -v
docker volume rm agendamento_veiculos_postgres_data
./scripts/deploy-production.sh deploy| Funcionalidade | URL |
|---|---|
| Página inicial | http://localhost:8000 |
| Login | http://localhost:8000/login/ |
| Admin Django | http://localhost:8000/admin/ |
| Dashboard | http://localhost:8000/dashboard/ |
| Agendamentos | http://localhost:8000/agendamentos/ |
| Veículos | http://localhost:8000/veiculos/ |
| Cursos | http://localhost:8000/cursos/ |
nano .env
# ou
vim .envEMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=seu-email@gmail.com
EMAIL_HOST_PASSWORD=sua-senha-de-app-do-gmail
DEFAULT_FROM_EMAIL=noreply@uespi.br- Acesse: https://myaccount.google.com/apppasswords
- Gere uma senha para "Outros (nome personalizado)"
- Copie a senha gerada
- Cole no
EMAIL_HOST_PASSWORD
docker-compose restart webAntes de colocar em produção em um servidor público:
- Alterar
SECRET_KEYno.envpara uma chave única e forte - Configurar
DEBUG=Falseno.env - Configurar
ALLOWED_HOSTScom o domínio real no.env - Usar senha forte para o banco de dados PostgreSQL
- Configurar HTTPS com certificado SSL (Let's Encrypt + Nginx)
- Configurar backup automático do banco de dados
- Configurar firewall (apenas portas 80, 443 abertas)
- Configurar SMTP real para envio de emails
- Revisar permissões de arquivos e diretórios
- Configurar logs e monitoramento
- Leia a documentação completa em README.md
- Configure email institucional seguindo EMAIL_CONFIG.md
- Personalize templates em
templates/ - Ajuste configurações em
agendamento_veiculos/settings.py - Explore o código fonte para customizações
- 📖 Documentação completa: README.md
- 🐛 Relatar bugs: GitHub Issues
- 💬 Comunidade Django: https://www.djangoproject.com/community/
- 📧 Email do desenvolvedor: Verifique o perfil no GitHub
Desenvolvido com ❤️ para a UESPI
⭐ Se este guia foi útil, considere dar uma estrela no projeto!