diff --git a/docs/alteracoes_db_connection.md b/docs/alteracoes_db_connection.md new file mode 100644 index 0000000..11cd350 --- /dev/null +++ b/docs/alteracoes_db_connection.md @@ -0,0 +1,54 @@ +# Alterações no Gerenciamento de Conexões com o Banco de Dados + +## Commit +- ID: [ID do commit será adicionado após o commit] +- Data: [Data do commit] +- Autor: [Nome do autor] + +## Contexto +O sistema estava utilizando uma única sessão global do SQLAlchemy (`db_session`) que era criada no início da aplicação. Isso poderia causar problemas de concorrência e vazamento de recursos. + +## Alterações Realizadas + +### 1. Remoção da Sessão Global +- Removida a linha `db_session = get_db_connection()` do início do arquivo +- Todas as rotas agora criam sua própria sessão + +### 2. Novo Padrão de Gerenciamento de Sessão +Em cada rota, implementamos o seguinte padrão: +```python +db = get_db_connection() +try: + # Operações com o banco + db.commit() +except Exception as e: + db.rollback() + # Tratamento de erro +finally: + db.close() +``` + +### 3. Melhorias no Tratamento de Erros +- Adicionado `db.rollback()` em caso de exceção +- Melhoradas as mensagens de erro +- Garantido que a sessão seja fechada mesmo em caso de erro + +### 4. Padronização de Código +- Uso de `request.form.get()` ao invés de acessar diretamente o dicionário +- Conversão explícita de tipos (float, int, date) +- Validação de dados antes de criar objetos +- Mensagens de feedback mais claras para o usuário + +## Impacto no Frontend +Não houve alterações necessárias nos templates, pois as mudanças foram apenas na forma como o backend gerencia as conexões com o banco de dados. + +## Benefícios +1. Maior segurança (evita vazamentos de recursos) +2. Maior robustez (melhor tratamento de erros) +3. Código mais fácil de manter (padronização) +4. Maior eficiência (sessões são fechadas adequadamente) + +## Observações +- Esta alteração foi feita para melhorar a arquitetura do sistema +- Não afeta a funcionalidade existente +- Recomenda-se seguir este padrão em novas implementações \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css index b57cc5c..36fed98 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -25,8 +25,10 @@ body { } .navbar-brand { - font-weight: 600; + display: flex; + align-items: center; font-size: 1.4rem; + font-weight: 600; color: var(--text-light) !important; } @@ -39,7 +41,6 @@ body { height: 35px; width: auto; margin-right: 10px; - filter: brightness(0) invert(1); } .nav-link { diff --git a/templates/login.html b/templates/login.html index afba518..652174c 100644 --- a/templates/login.html +++ b/templates/login.html @@ -3,58 +3,56 @@ {% block title %}Login{% endblock %} {% block content %} -
Entre com suas credenciais
+
+