first commit

This commit is contained in:
ka-lucas 2025-10-22 13:52:36 -03:00
parent 3d67602759
commit 2ab170ce32

View File

@ -0,0 +1,224 @@
# 🕓 Sistema de Ponto Eletrônico (Django + Bootstrap)
Este projeto é a migração da aplicação existente para o **framework Django**, mantendo os nomes originais das tabelas e módulos (em português), com interface web baseada em **Bootstrap** e painel administrativo nativo do Django.
---
## ⚙️ Estrutura Geral do Projeto
```
ponto_eletronico/
├── manage.py
├── requirements.txt
├── README.md
├── .env
├── docker-compose.yml
├── Dockerfile
├── config/
│ ├── __init__.py
│ ├── asgi.py
│ ├── wsgi.py
│ ├── urls.py
│ └── settings/
│ ├── base.py
│ ├── dev.py
│ ├── prod.py
│ └── logging.py
├── empresa/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── empresa/
│ │ ├── empresa_list.html
│ │ └── empresa_form.html
├── usuario/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── usuario/
│ │ ├── usuario_list.html
│ │ ├── usuario_form.html
│ │ └── login.html
├── configuracoes/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── configuracoes/
│ │ └── configuracoes_form.html
├── feriados/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── feriados/
│ │ ├── feriado_list.html
│ │ └── feriado_form.html
├── pagamento/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── pagamento/
│ │ └── pagamento_status.html
├── turno/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── turno/
│ │ ├── turno_list.html
│ │ └── turno_form.html
├── turno_dia/
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ └── templates/
│ └── turno_dia/
│ └── turno_dia_form.html
├── marcacao/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── marcacao/
│ │ ├── marcacao_list.html
│ │ ├── marcacao_form.html
│ │ └── dashboard.html
├── ajuste_horario/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── ajuste_horario/
│ │ ├── ajuste_list.html
│ │ └── ajuste_form.html
├── ajuste_ausencia/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ │ └── ajuste_ausencia/
│ │ ├── ausencia_list.html
│ │ └── ausencia_form.html
├── templates/
│ ├── base.html
│ ├── includes/
│ │ ├── _navbar.html
│ │ ├── _footer.html
│ │ └── _messages.html
│ └── registration/
│ ├── login.html
│ └── logout.html
├── static/
│ ├── css/
│ │ ├── bootstrap.min.css
│ │ ├── estilo.css
│ ├── js/
│ │ ├── bootstrap.bundle.min.js
│ │ └── app.js
│ ├── img/
│ └── vendor/
│ └── bootstrap/
└── scripts/
├── migrate_legacy.py
└── seed_demo_data.py
```
---
## 🔗 Relação entre apps e tabelas
| App Django | Tabela original | Função principal |
|----------------------|----------------------|------------------|
| `empresa` | `tbl_empresa` | dados da empresa |
| `usuario` | `tbl_usuario` | usuários e cargos |
| `configuracoes` | `tbl_configuracoes` | parâmetros de ponto |
| `feriados` | `tbl_feriados` | feriados e adicionais |
| `pagamento` | `tbl_pagamento` | controle de assinatura |
| `turno` | `tbl_turno` | turnos padrão |
| `turno_dia` | `tbl_turno_dia` | dias da semana do turno |
| `marcacao` | `tbl_marcacao` | marcações de ponto |
| `ajuste_horario` | `tbl_ajuste_horario` | ajustes manuais de ponto |
| `ajuste_ausencia`| `tbl_ajuste_ausencia` | ausências justificadas |
---
## 🧠 Criando um novo app Django
Para criar um novo aplicativo dentro do projeto, siga os passos abaixo:
1. Ative o ambiente virtual:
```bash
venv\Scripts\activate # No Windows
source venv/bin/activate # No Linux/macOS
```
2. Certifique-se de estar dentro da pasta do projeto (onde está o arquivo `manage.py`).
3. Execute o comando:
```bash
python manage.py startapp nome_do_app
```
Exemplo:
```bash
python manage.py startapp usuario
```
4. Adicione o app em `INSTALLED_APPS` dentro do arquivo `settings.py`:
```python
INSTALLED_APPS = [
...
'usuario',
]
```
5. Crie os modelos e registre-os no admin:
- Edite o arquivo `models.py` com suas tabelas.
- Edite o `admin.py` para registrar os modelos.
6. Rode as migrações:
```bash
python manage.py makemigrations
python manage.py migrate
```
7. Teste o servidor:
```bash
python manage.py runserver
```
---
## 💪 Frontend (Bootstrap)
O frontend utiliza **Bootstrap 5** integrado aos **templates Django**.
- Layout base: `templates/base.html`
- Navbar, rodapé e mensagens ficam em `templates/includes/`
- Cada app possui seus próprios templates HTML.