From 2ab170ce3292e4b41db3a7ed73ab46e221c74414 Mon Sep 17 00:00:00 2001 From: ka-lucas Date: Wed, 22 Oct 2025 13:52:36 -0300 Subject: [PATCH] first commit --- monolito_django_ponto/README_Ponto_Django.md | 224 +++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 monolito_django_ponto/README_Ponto_Django.md diff --git a/monolito_django_ponto/README_Ponto_Django.md b/monolito_django_ponto/README_Ponto_Django.md new file mode 100644 index 0000000..7426211 --- /dev/null +++ b/monolito_django_ponto/README_Ponto_Django.md @@ -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.