Skip to content

paulolopestech/study-plan-manager

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Study Plan Manager

Uma aplicação para gerenciar planos de estudo, permitindo gerar planos através de inteligencia artificial, atualizar e monitorar metas e tarefas relacionadas.

Tecnologias Utilizadas

  • Python: Linguagem principal do projeto.
  • FastAPI: Framework para criação da API.
  • PostgreSQL: Banco de dados utilizado para armazenar os planos e tarefas.
  • asyncpg: Biblioteca para interação assíncrona com PostgreSQL.
  • Google Generative AI: Integração com a API Gemini para geração de planos de estudo personalizados.
  • Pydantic: Validação de dados das requisições e modelos.
  • Flask e HTML: Interface

Funcionalidades (UI)

  1. Adicionar Planos de Estudo: Crie planos com metas, prazos e horas diárias de estudo.
  2. Visualizar Planos: Listagem de todos os planos criados.
  3. Excluir Planos: Remoção de planos indesejados.
  4. Gerenciar Tarefas: Visualizar, atualizar, excluir ou alternar o status de conclusão de tarefas associadas a um plano.
  5. Progresso Automático: Calcula automaticamente o progresso de um plano com base no número de tarefas concluídas.
  6. Resetar Banco de Dados: Remove todos os planos e tarefas.

Funcionalidades (API)

Planos de Estudo

  • Criar: Adicionar novos planos de estudo com metas, prazos e horas diárias dedicadas.
  • Listar: Recuperar todos os planos cadastrados ou um plano específico por ID.
  • Atualizar: Alterar dados de um plano existente, como meta, prazo e progresso.
  • Excluir: Remover um plano específico ou resetar todos os planos.

Tarefas

  • Gerar: Criar automaticamente tarefas com base nas metas do plano, utilizando a API Gemini.
  • Adicionar: Inserir tarefas individuais a um plano específico.
  • Listar: Recuperar todas as tarefas de um plano.
  • Atualizar: Modificar detalhes de uma tarefa existente, como descrição, semana ou status de conclusão.
  • Excluir: Remover uma tarefa específica.

Configuração

Requisitos

Instalação

  1. Clone o repositório:

    git clone git@github.com:Joaohsd/study-plan-manager.git
    cd study-plan-api
  2. Configure as variáveis de ambiente:

    • GOOGLE_API_KEY: Chave da API do Google Generative AI.
  3. Execução:

    docker compose up --build

Endpoints

Planos

  • POST /api/v1/plans/: Criar um novo plano.
  • GET /api/v1/plans/: Listar todos os planos.
  • GET /api/v1/plans/{id}: Obter detalhes de um plano específico.
  • PATCH /api/v1/plans/{id}: Atualizar um plano.
  • DELETE /api/v1/plans/{id}: Remover um plano específico.

Tarefas

  • POST /api/v1/plans/{plan_id}/tasks/: Adicionar uma tarefa a um plano.
  • GET /api/v1/plans/{plan_id}/tasks/: Listar todas as tarefas de um plano.
  • PATCH /api/v1/plans/{plan_id}/tasks/{task_id}: Atualizar uma tarefa.
  • DELETE /api/v1/plans/{plan_id}/tasks/{task_id}: Remover uma tarefa específica.

Autores

Paulo Joao
Nome: Paulo Henrique Lopes Júnior Nome: João Henrique Silva Delfino
Matrícula: 1748 Matrícula: 1662
E-mail: paulo.ph@gec.inatel.br E-mail: joao.h@gec.inatel.br
LinkedIn: Paulo Lopes LinkedIn: João Delfino

About

Project developed for the Distributed Systems discipline at Inatel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 55.8%
  • HTML 41.7%
  • Dockerfile 2.1%
  • CSS 0.4%