Estamos procurando um freelancer para desenvolver um web app simples onde o usuário pode se registrar, interagir com um assistente GPT e ter suas conversas armazenadas em um banco de dados PostgreSQL. O contexto do web app será para treinos de academia. O aplicativo também deve gerar e exibir um cronograma de treinamento em formato de calendário no perfil do usuário.
O que precisa ser feito:
Cadastro de usuário:
• Criar uma tela de cadastro onde o usuário insere informações como nome, e-mail, telefone, etc.
• Criar uma tela de login para autenticar o usuário.
Chat com assistente GPT:
• Será utilizada a ferramenta Assistants presente na API:
https://platform.openai.com/docs/api-reference/assistants
• O usuário pode enviar mensagens para o assistente GPT.
• O assistente responde usando a API da OpenAI.
• Armazenar tanto as mensagens do usuário quanto as respostas do assistente no banco de dados.
Armazenamento de conversas no PostgreSQL:
• Criar uma tabela de usuários e outra de threads (para armazenar as conversas).
• Salvar o histórico de mensagens em JSON.
Cronograma de treinamento:
• O assistente irá gerar um cronograma semanal baseado nas conversas do usuário, como sugestões de treinos e recomendações de melhoria.
• Esse cronograma será armazenado em formato de calendário no banco de dados.
• O perfil do usuário terá uma visualização desse cronograma, onde ele poderá acompanhar as semanas de treino e os detalhes.
Tecnologias e funcionalidades: (pode ser modificado)
• Backend usando Flask e integração com SQLAlchemy para conectar ao PostgreSQL.
• Frontend simples com html, css e javascript para exibir o chat e o calendário.
• O histórico de conversas deve ser acessado e exibido dinamicamente no chat.
• As respostas do assistente devem ser armazenadas em formato de calendário no banco de dados, visíveis para o usuário no seu perfil.
Já programo e trabalho na área, mas estou sem tempo para desenvolver o projeto. Já fiz um MVP e quero apenas a base do app para posteriormente continuar trabalhando nele.
Prazo de Entrega: Não estabelecido