Skip to content

Projeto de lista de tarefas utilizando Class Based Views com autenticação e funcionalidades de adicionar, editar e remover tarefas, criado com Django framework.

License

Notifications You must be signed in to change notification settings

walexhenrique/lista-de-tarefas-cbv

Repository files navigation

Projeto lista de tarefas

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.


Serviços usados

  • Github
  • Heroku

Metodologias usadas

  • TDD - Desenvolvimento orientado a testes
  • Kanban - Metodologia ágil

🚀 Começando

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

1 - Passo: Clone

Realize um clone do projeto em seu computador

git clone https://github.com/walexhenrique/lista-de-tarefas-cbv.git

2 - Passo: Ambiente virtual

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

3 - Passo: Ativação do ambiente virtual

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!

4 - Passo: Instalação de depedências

É 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

5 - Passo: Variáveis de ambiente

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'

6 - Passo: Realize as migrações

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

7 - Passo: Executar o projeto

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

⚙️ Executando os testes

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"

🛠️ Construído com

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

Como usar

1 - Quando entrar no site, você vai se deparar com uma tela de login, caso já tenha um usuário cadastro, basta se logar.

pagina de login

2 - Caso não tenha um cadastro no site, crie a sua conta.

pagina de registro

3 - Ao realizar o cadastro e logar corretamente, você terá acesso ao seu painel de tarefas.

pagina painel usuário

4 - Ao clicar em "Criar nova tarefa", você terá acesso à página de criação.

pagina criar nova tarefa

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.

pagina painel com tarefa

6 - Ao clicar em "editar tarefa", será apresentado a tarefa a ser editada e você poderá editar o título e o status.

pagina editar tarefa

7 - Finalizado a edição, ela já estará atualizada em seu painel.

pagina painel editado

8 - Ao clicar em "Apagar tarefa", você será levado à página de confirmação.

pagina confirmação apagar tarefa

9 - Confirmado a exclusão, você será levado novamente para à página do painel.

pagina painel apagado

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".

pagina painel paginacao pagina painel paginacao 2

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.

pagina paginacao limite por página

12 - Ao clicar em "Sair" você será redirecionado para a página de login e automaticamente estará deslogado da aplicação.

pagina ao sair

Funcionalidades

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

Links

Versionamento

1.0.0.0

Autor

  • Walex Henrique Obrigado pela visita, se curtiu me siga no Github!