Skip to content

Cleok3Lima/PUC-Rio-MVP-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gestão de Tempo API

Descrição

Cleok3-pic

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.

Índice

Tecnologias

  • Python 3.12
  • Flask
  • SQLite
  • Flask-CORS
  • Flask-JWT-Extended
  • Flask-SQLAlchemy
  • Flask-CORS
  • Flask-OpenAPI3
  • Flask-Swagger-UI

Estrutura do Projeto

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

Configuração e Execução

Instalação

  1. Clone o repositório:

    git clone https://github.com/Cleok3Lima/PUC-Rio-MVP-API.git
    cd gestao-de-tempo-api
  2. Crie um ambiente virtual e ative-o:

    python -m venv .venv
    source .venv/bin/activate  # No Windows use: .venv\Scripts\activate
  3. Instale as dependências:

    pip install -r requirements.txt
  4. 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'
  5. Execute a aplicação:

    python app.py

Uso

A aplicação estará disponível em http://localhost:8000. A documentação Swagger (OpenAPI) pode ser acessada em http://localhost:8000/api/docs.

Rotas da API

Usuário

  • POST /register: Registrar um novo usuário

    • Corpo da solicitação:
      {
        "username": "seu_usuario",
        "password": "sua_senha"
      }
  • POST /login: Fazer login

    • Corpo da solicitação:
      {
        "username": "seu_usuario",
        "password": "sua_senha"
      }

Tarefas

  • 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
      }
  • DELETE /tarefas/<int:tarefa_id>: Deletar uma tarefa

  • POST /tarefas/<int:tarefa_id>/complete: Marcar uma tarefa como concluída

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorar esta aplicação.

Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages