O Personal Task Manager é um sistema web intuitivo e organizado para gerenciamento de tarefas, desenvolvido com o framework Django. O projeto permite aos usuários criar, visualizar, editar e excluir tarefas de maneira eficiente, ajudando na organização diária.
Este projeto foi concebido com o intuito de aplicar e aprofundar conhecimentos em desenvolvimento web utilizando Django. Durante o desenvolvimento, foram explorados conceitos fundamentais como:
- Modelagem de Dados (Models): Estruturação do banco de dados para armazenar as tarefas.
- Formulários (Forms): Criação e validação de formulários utilizando
ModelForm. - Templates e Views: Renderização de páginas dinâmicas e controle de fluxo com herança de templates.
- Operações CRUD: Implementação completa de Create, Read, Update e Delete.
- Roteamento (URLs): Configuração de rotas amigáveis para navegação no sistema.
- Validações Customizadas: Prevenção de duplicação de tarefas com validações específicas.
- Melhora visual dos templates e sidebar adicionada
- Novo recurso de alertas. Uma nova forma do sistema se comunicar com o usuário e o mesmo poder entender o que está acontecendo quando faz uma ação dentro do sistema
- Dashboard adicionado ao sistema
- Página de Tarefas agora com filtro de status / Retirado página de tarefas finalizadas
O sistema oferece um conjunto completo de ferramentas para o gerenciamento de tarefas:
- Criação de Tarefas: Adicione novas tarefas informando nome, descrição, prazo, prioridade e status.
- Listagem Organizada: Visualize todas as tarefas cadastradas em uma interface clara.
- Edição de Tarefas: Atualize informações de tarefas existentes a qualquer momento.
- Exclusão de Tarefas: Remova tarefas que não são mais necessárias.
- Validação Inteligente: O sistema impede a criação de tarefas com nomes duplicados, garantindo a integridade dos dados.
- Feedback Visual: Sistema de mensagens integrado para confirmar ações como criação, edição e exclusão de tarefas.
O projeto foi construído utilizando as seguintes tecnologias:
- Backend: Python 3, Django (v6.0.6)
- Frontend: HTML5, CSS3, Bootstrap 5
- Banco de Dados: SQLite3 (Padrão do Django)
- Outras Bibliotecas:
python-decouple(para gerenciamento de variáveis de ambiente),asgiref,sqlparse.
Personal_Task_Manager/
│
├── apps/
│ ├── GTP/
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── models.py
│ ├── urls.py
│ ├── validator.py
│ └── views.py
│ └── Users
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ └── views.py
│
├── templates/
│ ├── base/
│ ├── base.html
│ ├── footer.html
│ ├── mensagens.html
│ ├── nav_bar.html
│ └── scripts.html
│ └── task/
│ ├── addTask.html
│ ├── editar_task.html
│ ├── home.html
│ ├── lixeiraTask.html
│ ├── login.html
│ ├── task.html
│ ├── taskFinalizada.html
│ └── visualizartask.html
│
├── static/
│ └── CSS
│ └── style.css
│
├── manage.py
├── requirements.txt
└── db.sqlite3
Siga os passos abaixo para configurar e executar o projeto em sua máquina local.
Certifique-se de ter o Python e o Git instalados em sua máquina.
-
Clone o repositório:
git clone https://github.com/Scalabrini17/Personal_Task_Manager.git
-
Acesse o diretório do projeto:
cd Personal_Task_Manager -
Crie e ative um ambiente virtual:
- No Linux/macOS:
python3 -m venv venv source venv/bin/activate - No Windows:
python -m venv venv venv\Scripts\activate
- No Linux/macOS:
-
Instale as dependências do projeto:
pip install -r requirements.txt
-
Configure as Variáveis de Ambiente: Gere uma nova chave secreta (Secret Key) executando o comando abaixo:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"Crie um arquivo chamado
.envna raiz do projeto e adicione a chave gerada:SECRET_KEY=cole_a_chave_gerada_aqui
-
Execute as migrações do banco de dados:
python manage.py migrate
-
Inicie o servidor de desenvolvimento:
python manage.py runserver
-
Acesse a aplicação: Abra o seu navegador e acesse: http://127.0.0.1:8000
- Módulo de tarefa: Pesquisa por nome.
- Módulo de tarefa: Filtros por prioridade.
- Módulo de tarefa: Ordenação por prazo
- Implementação de um sistema de autenticação e registro de usuários.
- Isolamento de tarefas por usuário (cada usuário vê apenas suas próprias tarefas).
Desenvolvido por Scalabrini.