first commit
This commit is contained in:
parent
3d67602759
commit
2ab170ce32
224
monolito_django_ponto/README_Ponto_Django.md
Normal file
224
monolito_django_ponto/README_Ponto_Django.md
Normal 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.
|
||||||
Loading…
Reference in New Issue
Block a user