Voltar para todos os projetos
Capa do projeto Sistema de Agenda com Django

Sistema de Agenda com Django

PythonDjangoPostgreSQL
Ver no GitHub

Uma aplicação web Full Stack desenvolvida com o framework Django fundamentada na arquitetura MVT (Model View Template). O objetivo central deste projeto foi consolidar conhecimentos avançados em desenvolvimento web back end com Python, abordando desde a estruturação de bancos de dados relacionais até a implementação de sistemas robustos de autenticação de usuários e operações completas de manipulação de dados de forma segura e eficiente.

Interface interativa e responsiva da Agenda Eletrônica

Recursos Principais

  • Sistema de autenticação estruturado com controle rigoroso de sessões de usuários ativos.
  • Um usuário autenticado pode criar e adicionar contatos, só podendo exlcuir os contantos que o pertencem.
  • Integração e customização avançada do painel de administração nativo para gestão centralizada.
Painel de Administração Customizado
  • Modelagem de dados relacional otimizada utilizando PostgreSQL para garantir integridade e armazenamento escalável dos contatos.
Interface de Criação e Modelagem de Contatos

Lógica de Segurança e Regras de Negócio

A implementação foca em proteger rotas sensíveis e garantir o isolamento absoluto das informações de cada usuário. Utilizando os decoradores nativos e a validação embutida de formulários da ferramenta, o código gerencia o estado do banco de dados de forma segura, fornecendo feedback dinâmico e imediato na interface do cliente.

main.py
from django.contrib.auth.decorators import login_requiredfrom django.contrib import messagesfrom django.shortcuts import render, redirect @login_required(login_url='contact:login')def user_update(request):    form = RegisterUpdateForm(instance=request.user)     if request.method != 'POST':        return render(request, 'contact/user_update.html', {'form': form})     form = RegisterUpdateForm(data=request.POST, instance=request.user)     if not form.is_valid():        return render(request, 'contact/user_update.html', {'form': form})     form.save()    messages.success(request, 'Usuário atualizado com sucesso.')    return redirect('contact:index')

Destaques da Implementação

  • Segurança com DecoratorsO uso do '@login_required' protege a view, barrando acessos indevidos e redirecionando para o login.
  • Gerenciamento de InstânciasA passagem do parâmetro 'instance=request.user' server para atualizar um registro existente em vez de criar um novo, otimizando a aplicação.
  • Validação RobustaO método 'form.is_valid()' é uma das ferramentas nativas do Django, usado para evitar injeção de dados maliciosos ou incorretos.
  • UX e FeedbackA integração com o módulo 'messages' garante uma comunicação clara com o usuário após a execução de uma ação no banco de dados.