https://github.com/deividsousan/taskmaster
Website de organização de tarefas desenvolvido com o intuito de praticar Python junto ao micro-framerwok Flask.
https://github.com/deividsousan/taskmaster
backend flask html-css-javascript htmx mysql python server-side sqlalchemy sqlite
Last synced: 3 months ago
JSON representation
Website de organização de tarefas desenvolvido com o intuito de praticar Python junto ao micro-framerwok Flask.
- Host: GitHub
- URL: https://github.com/deividsousan/taskmaster
- Owner: DeividSouSan
- Created: 2024-02-12T12:16:59.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-31T11:04:09.000Z (over 1 year ago)
- Last Synced: 2025-05-27T22:41:40.624Z (about 1 year ago)
- Topics: backend, flask, html-css-javascript, htmx, mysql, python, server-side, sqlalchemy, sqlite
- Language: Python
- Homepage:
- Size: 724 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Taskmaster
O Taskmaster é um website que permite o usuário criar tarefas para que ele possa se organizar melhor no seu dia a dia. A aplicação possui aparencia minimalista e busca ajudar o usuário a ter um lugar simples e sem distrações para se organizar.
## Objetivo
O objetivo do projeto foi aprender mais sobre o desenvolvimento backend utilizando o Python e o micro-framework Flask. Além disso, desenvolver minhas habilidades de solução de problemas e de escrita de código. Como consequência acabei descobrindo algumas bibliotecas que forem facilitadores chave para que o projeto pudesse ser concluído.
## Funcionalidades
- [x] Cadastro de Usuários no Banco de Dados
- [x] Autenticação de Usuários (Login)
- [x] Sistema de Gerenciamento de Tarefas (CRUD)
- [x] Feedback de Operações (foco em UX)
## Demonstração
### Tela Inicial

### Tela de Cadastro


### Tela de Login


### Quadro de Tarefas



## Como Rodar o Projeto?
### Clonando
Primeiro clone o repositório. Isso pode ser feito baixando-o ou utilizando o comando:
```
git clone git@github.com:DeividSouSan/Taskmaster.git
```
Utilizando sua IDE ou Editor de Texto abra o projeto. Se estiver pelo terminal acesse a pasta onde baixou/clonou o projeto e escreva:
```
cd taskmaster
```
### Ambiente Virtual
Dentro da pasta do projeto, inicie um ambiente virtual. Eu recomendo instalar as bibliotecas em um ambiente virtual para evitar conflitos de versões com os pacotes instalados globalmente. Pelo terminal, crie um ambiente virtual utilizando:
```
python3 -m venv
```
Comumento o nome utilizado é .venv, mas isso é de sua escolha.
Para ativar o ambiente virutal no linux:
```
source .venv/bin/activate
```
Ou
```
. .venv/bin/activate
```
Para desativa-lo:
```
deactivate
```
No windows:
```
.venv/Scripts/activate
```
Para desativa-lo:
```
.venv/Scripts/deactivate
```
### Bibliotecas
Utilizei as seguintes bibliotecas para realização do projeto:
- Flask (Servidor e Rotas)
- Python Dotenv (Variáveis de Ambiente)
- PyMySQL (Driver de Conexão para o MySQL)
- Flask-SQLAlchemy e SQLAlchemy(Object Relational Mapper)
- Flask-WTF e WTForms (Formulários)
- Bcrypt (Hash da Senha)
- Unittest (built-in do Python para testes)
- HTMX (requisições HTTP direto dos elementos HTML)
- SQLite3 (built-in do Python)
Para baixar as bibliotecas do Python escreva no terminal (antes verifique se o ambiente virtual está ativado):
```bash
pip install -r requirements.txt
```
Assim todas as dependencias que estão dentro do arquivo `requirements.txt` serão baixadas para o seu ambiente virtual.
### Variáveis de Ambiente
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
```
APP_CONFIG = "ProductionConfig"
SECRET_KEY =
```
Os valores à direita são ficticios e devem ser susbstituidos pela informações da sua configuração. Elas serão importadas para dentro de `server.py` e serão utilizadas para acessar, criar e modificar o banco de dados.
O `APP_CONFIG` é onde você define qual configurações do Flask serão utilizadas. Utilize `ProductionConfig` para testar o aplicativa da maneira que ele iria para produção. As outras configurações podem ser vistas em `config.py`.
### Banco de Dados
O banco de dados utilizado para essa aplicação foi o SQLite por motivos de praticidade. Nenhuma configuração adicional é necessária. Basta rodar a aplicação normalmente. Se tudo ocorrer bem ao rodar pela primeira vez, um arquivo chamado `taskmaste.db` surgirá dentro do diretório `instance/`.
### Finalmente Rodando a Aplicação
Para rodar a aplicação rode o arquivo nomeado como `wsgi.py`.
```
python wsgi.py
```
### Ferramentas e Tecnologias




