Projeto de Desenvolvimento de
Aplicação com Integração à API do ChatGPT
Este documento descreve o projeto para a criação de uma aplicação que utiliza a API do
ChatGPT para correção de redações e resposta automática de questões.
Detalhes do Projeto:
Frontend: A aplicação será desenvolvida utilizando
Next.js ou Angular ambos com TypeScript
e SCSS.
Backend: O backend será construído em NestJS com TypeScript. Ou FastApi com python
dependendo das necessidades do projeto
Funcionalidades:
● Tela de upload de arquivos (pdf/jpg/jpeg) que se comunicará com a API do ChatGPT
para correção de redações.
● Tela de configuração de regras de correção para o ChatGPT.
● Visualização da redação corrigida ao lado da original, com opção para download em
PDF.
● Salvar, listar e ver uma redação especifica
● Sistema de avaliação da correção com estrelas.
● Sistema de envio de questões para o ChatGPT, com verificação de gabarito.
1. Telas Necessárias
Para o front-end, as seguintes telas serão desenvolvidas:
- Tela de Upload de Arquivo: Interface onde o aluno pode fazer o upload do arquivo (pdf
ou jpg/jpeg).
- Tela de Configuração de Regras de Correção: Interface para definir as regras de
correção que serão enviadas ao ChatGPT.
- Tela de Visualização da Correção: Interface que mostra a redação original ao lado da
correção gerada pelo ChatGPT. Esta tela também deve incluir um botão para baixar a
correção como PDF.
- Tela do aluno: Tela na qual o aluno pode salvar, deletar, listar todas as redações salvas
e ver uma redação específica, além de poder procurar uma redação pelo nome
- Tela de Avaliação da Correção: Interface onde o aluno pode avaliar a correção
recebida com estrelas.
- Tela de Envio de Questão: Interface onde o aluno pode enviar uma questão ao
ChatGPT.
- Tela de Comparação de Respostas: Interface que mostra a questão, a resposta
gerada pelo ChatGPT e a comparação com o gabarito.
2. Endpoints do Backend
Para atender aos requisitos do cliente, os seguintes endpoints serão necessários:
Upload de Arquivo
- POST /upload: Endpoint para fazer o upload do arquivo (pdf ou jpg/jpeg). O arquivo será
processado e enviado para o ChatGPT.
- DELETE /upload/{id}: Endpoint para deletar um arquivo previamente enviado.
Correção da Redação
- POST /correction: Endpoint para enviar as regras de correção e o texto para o ChatGPT.
- GET /correction/{id}: Endpoint para obter a correção e os comentários gerados pelo
ChatGPT.
- PUT /correction/{id}: Endpoint para atualizar a redação ou as regras de correção antes
do envio para o ChatGPT.
- DELETE /correction/{id}: Endpoint para deletar uma correção armazenada.
Avaliação da Correção
- POST /correction/{id}/rate: Endpoint para o aluno avaliar a correção com estrelas.
- PUT /correction/{id}/rate: Endpoint para atualizar a avaliação de uma correção.
- DELETE /correction/{id}/rate: Endpoint para remover uma avaliação.
Lista de Redações
- POST/essay: Enpoint para salvar as redações que foram avaliadas
- GET/essay/{id}: Enpoint para o aluno ver uma redação em especifico
- GET/essay: Enpoint para listar todas as redações para o aluno
- GET/essay/{ByName}: Enpoint para o aluno pesquisar uma redação pelo nome
- DELETE/essay: Enpoint para deletar uma redação da lista de redações salvas
-
Gerar pdf
- get /correction/{id}/download: endpoint para gerar e baixar a correção e comentários
como pdf.
Envio de Questão
- POST /question: Endpoint para enviar uma questão ao ChatGPT e obter a resposta.
- GET /question/{id}: Endpoint para obter a resposta do ChatGPT e compará-la com o
gabarito no sistema.
- PUT /question/{id}: Endpoint para atualizar a questão enviada ou a resposta.
- DELETE /question/{id}: Endpoint para deletar uma questão armazenada.
3. Webhooks
- Webhook para Correção Finalizada: Notifica quando uma correção está pronta para
visualização.
- Webhook para Upload Completo: Notifica quando o upload de um arquivo é concluído e
processado.
- Webhook para Avaliação Recebida: Notifica quando uma nova avaliação é submetida.
OBS:
- Necessita do Design da interface da plataforma
- Necessita da criação do banco de dados
- Não será necessária autenticação.
- Não há necessidade de integração com outros sistemas, apenas a criação dos endpoints
mencionados.
- Será hospedado na nuvem deles na AWS, na qual faremos o deploy.
- Terei acesso a uma API key do ChatGPT para testes.
- Não precisarão que a manutenção seja feita por mim.
Resumo do projeto:
- 8 Telas para o frontend
- 20 enpoits para o backend
- 3 webhooks
- Criação de toda a interface
- As tabelas necessárias do banco de dados
- Faremos o deploy na AWS
Com prazo de 45 dias úteis (A contar a partir do dia do pagamento).
- Tendo os seguintes checkpoints de entrega:
- 05 de setembro de 2024 - Primeiro checkpoint para revisão inicial do progresso.
- 20 de setembro de 2024 - Segundo checkpoint para revisar funcionalidades
desenvolvidas até o momento.
- 17 de outubro de 2024 - Entrega
Delivery term: Not specified