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