A Gestão de Tempo API é uma aplicação backend desenvolvida em Python utilizando o framework Flask. A API permite gerenciar tarefas diárias, monitorar o tempo e analisar a produtividade. A aplicação inclui funcionalidades como criar tarefas, marcar tarefas como concluídas, deletar tarefas e visualizar todas as tarefas.
- Python 3.12
- Flask
- SQLite
- Flask-CORS
- Flask-JWT-Extended
- Flask-SQLAlchemy
- Flask-CORS
- Flask-OpenAPI3
- Flask-Swagger-UI
gestao-tempo-api/
├── instance/
│ ├── tabelas.db
├── model/
│ ├── __init__.py
│ ├── base.py
│ ├── tarefa.py
│ ├── usuario.py
├── schemas/
│ ├── __init__.py
│ ├── error.py
│ ├── tarefa.py
│ ├── usuario.py
├── static/
│ ├── swagger.json
├── .gitignore
├── app.py
├── log_config.py
├── README.md
└── requirements.txt
-
Clone o repositório:
git clone https://github.com/Cleok3Lima/PUC-Rio-MVP-API.git cd gestao-de-tempo-api
-
Crie um ambiente virtual e ative-o:
python -m venv .venv source .venv/bin/activate # No Windows use: .venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
-
Configure a variável de ambiente para a chave secreta do JWT:
export JWT_SECRET_KEY='sua-chave-secreta' # No Windows use: set JWT_SECRET_KEY='sua-chave-secreta'
-
Execute a aplicação:
python app.py
A aplicação estará disponível em http://localhost:8000
. A documentação Swagger (OpenAPI) pode ser acessada em http://localhost:8000/api/docs
.
-
POST /register
: Registrar um novo usuário- Corpo da solicitação:
{ "username": "seu_usuario", "password": "sua_senha" }
- Corpo da solicitação:
-
POST /login
: Fazer login- Corpo da solicitação:
{ "username": "seu_usuario", "password": "sua_senha" }
- Corpo da solicitação:
-
GET /tarefas
: Obter todas as tarefas do usuário logado -
POST /tarefas
: Criar uma nova tarefa- Corpo da solicitação:
{ "title": "Título da tarefa", "description": "Descrição da tarefa", "due_date": "yyyy-mm-dd", "completed": false }
- Corpo da solicitação:
-
DELETE /tarefas/<int:tarefa_id>
: Deletar uma tarefa -
POST /tarefas/<int:tarefa_id>/complete
: Marcar uma tarefa como concluída
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorar esta aplicação.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.