# GPT4ENEM

## Overview

O GPT4ENEM foi desenvolvido para fornecer aos alunos uma ferramenta conveniente e eficiente para acessar conteúdos relacionados ao Exame Nacional do Ensino Médio (ENEM). Ele permite resumir vídeos, transcrever áudio e verificação de cobertura de conteúdo do ENEM, tudo em uma única plataforma.

> * **Resumo de Vídeos do ENEM:** Os usuários podem um link do YouTube com videoaulas  para serem automaticamente resumidos pela aplicação. Isso proporciona uma maneira rápida e eficaz de captar os pontos-chave dos materiais de estudo em vídeo.
> * **Transcrição de Vídeos do ENEM:** Com esta funcionalidade, os alunos podem transcrever o áudio de videoaulas  do YouTube. Isso é útil para aqueles que preferem revisar o conteúdo em formato escrito ou para realizar buscas específicas em textos.
> * **Revisão de Conteúdo do ENEM:** Os usuários podem revisar tópicos específicos do ENEM, obtendo insights e esclarecimentos adicionais sobre os assuntos abordados. Isso é facilitado pelo uso da tecnologia de linguagem natural, que fornece informações relevantes e contextualizadas.

> Além disso, a aplicação oferece uma experiência de usuário simplificada, com recursos de autenticação segura, garantindo que os usuários possam acessar suas informações de forma conveniente e confiável.
>
> Com uma abordagem centrada no usuário e o uso de tecnologias avançadas, a aplicação visa fornecer uma ferramenta eficaz para ajudar os estudantes a se prepararem para o ENEM, contribuindo para o seu sucesso educacional e acadêmico

{% content-ref url="/pages/WLdJJqKdGfqmRL9r8eiA" %}
[Screencast Youtube](/gpt4enem-docs/documentos/screencast-youtube.md)
{% endcontent-ref %}

## Arquitetura

O projeto GPT4ENEM é uma aplicação que utiliza a tecnologia de Machine Learning para fornecer suporte aos estudantes que estão se preparando para o Exame Nacional do Ensino Médio (ENEM). A arquitetura serverless foi escolhida para permitir uma escalabilidade eficiente e reduzir custos operacionais.

### Componentes Principais

A arquitetura serverless do projeto GPT4ENEM é composta pelos seguintes componentes:

* Github
* Github Actions
* Render Cloud
* Api Gateway
* Railway
* Webclient

## Tecnologias Utilizadas 🎯

### FrontEnd ✨

* **Angular**

O Angular é um framework de desenvolvimento front-end baseado em TypeScript, mantido pela Google. Ele é amplamente utilizado para a criação de aplicativos web modernos e escaláveis. No projeto GPT4ENEM, o Angular foi escolhido devido à sua robustez, extensibilidade e suporte para a criação de Single Page Applications (SPAs).

* **Sass**

SCSS é uma extensão da linguagem de folhas de estilo CSS que adiciona recursos como variáveis, mixins e aninhamento de seletores. No projeto GPT4ENEM, o SCSS foi utilizado para facilitar o desenvolvimento e a manutenção dos estilos da aplicação.<br>

* **TypeScript**

TypeScript é um superset da linguagem JavaScript que adiciona recursos como tipagem estática e suporte a classes e interfaces. No projeto GPT4ENEM, o TypeScript foi escolhido não só para melhorar a produtividade, a manutenção e a segurança do código front-end, mas também por ser padrão no Angular.

* **Firebase Authentication**

O Firebase Authentication é um serviço de autenticação fornecido pela plataforma Firebase, que oferece uma maneira simples, segura e escalável de autenticar usuários em aplicativos. No projeto GPT4ENEM, o Firebase Authentication foi escolhido para lidar com o processo de autenticação de usuários.

### BackEnd 🚀

* **API Gateway**

Um API Gateway é um componente essencial em arquiteturas de microsserviços e em aplicações distribuídas. Ele atua como um intermediário entre clientes e serviços backend, fornecendo uma camada de abstração para gerenciar todas as interações de API.

* **Node.js**&#x20;

o Node.js é tilizado como ambiente de execução para o backend da aplicação. Ele permite a execução de código JavaScript do lado do servidor e fornece um modelo de I/O assíncrono que é ideal para aplicações escaláveis e de alto desempenho.&#x20;

* **TypeScript**

TypeScript é uma linguagem de programação de código aberto que adiciona tipagem estática opcional ao JavaScript. Ele permite escrever código mais seguro, legível e escalável, detectando erros em tempo de compilação e fornecendo recursos avançados como interfaces, tipos genéricos e muito mais.

* **Jest**

Jest é um framework de teste de código aberto mantido pelo Facebook. Ele é amplamente utilizado para testes unitários, testes de integração e testes de ponta a ponta em JavaScript e TypeScript. Jest fornece uma API simples e intuitiva para escrever testes, suporte para mocks e asserções, cobertura de código e muito mais.

* **Firebase Firestore**

Firestore é um banco de dados NoSQL em tempo real fornecido pela plataforma Firebase da Google. Ele oferece armazenamento de dados em tempo real, sincronização em tempo real entre clientes e servidores, consultas poderosas e escalabilidade automática.

### Funcionalidades Principais

#### Resumo:

* Permite o envio de vídeos do ENEM para serem automaticamente resumidos pela aplicação.
* Utiliza a API do GPT 3.5 Turbo para processar o vídeo e gerar um resumo automático.
* Os resumos gerados são armazenados no Firestore para posterior revisão e download pelos usuários.

#### Transcrição:

* Possibilita a conversão do áudio de vídeos do ENEM em texto.
* Utiliza o Whisper para transcrever o áudio do vídeo em texto.
* As transcrições geradas são salvas no Firestore para revisão e download posteriores pelos usuários.

#### Revisão:

* Oferece insights e esclarecimentos adicionais sobre tópicos específicos do ENEM.
* Utiliza a API do GPT 3.5 Turbo para revisar o conteúdo e fornecer informações adicionais.
* As revisões geradas são apresentadas aos usuários para leitura e compreensão.

### Fluxo de Funcionamento 📌

1. O usuário acessa a aplicação através de um navegador web ou de um dispositivo móvel.
2. No FrontEnd, ele pode navegar pelos diferentes recursos oferecidos, como materiais de estudo, simulados e o fórum de discussão.
3. Ao realizar atividades, como responder questões de simulados ou interagir no fórum, os dados são enviados para o BackEnd.
4. O BackEnd processa as solicitações, armazena os dados relevantes no banco de dados Firebase e retorna as respostas necessárias para o FrontEnd.
5. O FrontEnd exibe as informações atualizadas ao usuário, permitindo que ele acompanhe seu progresso e interaja com os recursos disponíveis.

### Considerações finais 📑

A aplicação educativa para o ENEM proporciona uma experiência completa e personalizada de estudo, utilizando tecnologias modernas para garantir acessibilidade e eficácia. Com conteúdo de qualidade, simulados realistas e ferramentas de acompanhamento de desempenho, nosso objetivo é capacitar os usuários a alcançarem excelência acadêmica e obterem sucesso no exame.&#x20;

Para mais informações ou suporte, entre em contato com nossa equipe através dos canais de comunicação disponíveis na aplicação.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gpt4enem.gitbook.io/gpt4enem-docs/gpt4enem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
