Um projeto de lista de tarefas com autenticação de usuário, criação, edição e exclusão de tarefas. Cujo principais objetivos foram: utilizar Class Based Views e a realização de testes (unitários, de integração e funcionais) mesclando com o conceito de mixins.
- Github
- Heroku
- TDD - Desenvolvimento orientado a testes
- Kanban - Metodologia ágil
Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.
- Versão do python utilizada: 3.10.7
- Versão do django: 4.1.2
Realize um clone do projeto em seu computador
git clone https://github.com/walexhenrique/lista-de-tarefas-cbv.git
Crie um ambiente virtual na pasta raiz do projeto. No seu terminal use:
Comando para a criação do ambiente virtual no Windows:
python -m venv venv
Comando para a criação do ambiente virtual no Linux:
python3 -m venv venv
Agora você precisa ativar o ambiente virtual para a posterior instalação das dependências do projeto.
Na pasta raiz do projeto, onde você criou o seu ambiente virtual anteriormente. Use:
Comando para a ativação do ambiente virtual no Windows:
.\venv\Scripts\activate
Comando para a ativação do ambiente virtual no Linux:
source venv/bin/activate
Se tudo estiver ocorrido bem, terá (venv) em seu terminal!
É preciso instalar as depedências do projeto para o funcionamento correto. Com o seu ambiente virtual ativo use o comando no seu terminal:
pip install -r requirements.txt
Para a correta execução do projeto é necessário a configuração das variáveis de ambiente.
- Renomeie o arquivo .env-example para .env
Dentro do arquivo .env (já renomeado), coloque sua PRIMARY KEY do projeto.
# /.env
# Django secret key
SECRET_KEY = 'COLOQUE SUA SECRET-KEY AQUI'
Para o correto funcionamento do projeto é preciso que seja feito as migrações do banco de dados.
No seu terminal digite: Windows:
python manage.py migrate
Linux:
python3 manage.py migrate
Comando para a execução do projeto no windows:
python manage.py runserver
Comando para a execução do projeto no linux:
python3 manage.py runserver
Foram realizados diversos testes focando principalmente nas funcionalidades mais críticas ao sistema.
Comando para a realização dos testes. No windows:
python manage.py test
ou
pytest
No linux:
python3 manage.py test
Atenção: Caso queira realizar apenas os testes funcionais (Selenium).
pytest -m "functional_test"
Atenção: Caso queira realizar todos os testes menos os funcionais (Selenium).
pytest -m "not functional_test"
Tecnologias utilizadas na criação desse projeto
- Django Framework - O framework web usado na criação do projeto
- Pytest - Utilizado na criação dos testes
- Selenium - Utilizado na automatização dos testes funcionais (versão: Webdriver utilizado no projeto: 106)
- HTML - Estruturação da página
- CSS - Estilização da página
- PostgreSQL - Banco de dados utilizado ao fazer deploy no heroku
1 - Quando entrar no site, você vai se deparar com uma tela de login, caso já tenha um usuário cadastro, basta se logar.
5 - Finalizado a criação, ela será colocada na sua página de painel, onde lhe permite algumas opções de edição e exclusão.
6 - Ao clicar em "editar tarefa", será apresentado a tarefa a ser editada e você poderá editar o título e o status.
10 - Ao possuir muitas tarefas, será habilitado a paginação e apresentará a quantidade de itens de acordo com a escolha de "limite por página".
11 - Ao mudar a opção de "limite por página" para 10, a página utiliza o limite de 10 tarefas por página.
12 - Ao clicar em "Sair" você será redirecionado para a página de login e automaticamente estará deslogado da aplicação.
As principais funcionalidades da aplicação são:
- Criação de tarefas
- Edição de tarefas
- Apagar tarefas
- Registro de usuário
- Login de usuário
- Logout de usuário
- Paginação das tarefas
- Limite de tarefas por página em conjunto com a paginação
- Deploy no Heroku: https://lista-tarefas-django.herokuapp.com/
- Repositório: https://github.com/walexhenrique/lista-de-tarefas-cbv
- Em caso de encontrar bugs ou alguma sugestão entre em contato com o meu email: [email protected]
1.0.0.0
- Walex Henrique Obrigado pela visita, se curtiu me siga no Github!