Skip to content
Jorge Luis | Developer Backend edited this page Sep 15, 2024 · 9 revisions

AskConsole Logo

A estrutura do projeto AskConsole é organizada da seguinte maneira:

Estrutura de Diretórios

AskConsole/
│
├── conversations/
│   └── (arquivos de conversas)
├── lib/
│   └── (bibliotecas externas .jar)
├── src/
│   └── main/
│       └── java/
│           └── com/
│               └── jorgeluisreis/
│                   └── askconsole/
│                       ├── ChatHandler.java
│                       ├── Main.java
│                       ├── MenuManager.java
│                       ├── client/
│                       │   ├── ApiKeyManager.java
│                       │   └── GeminiApiClient.java
│                       ├── util/
│                       │   ├── ConversationManager.java
│                       │   ├── JsonUtil.java
│                       │   └── TextFormatter.java
│                       
│                          
├── target/
│   └── (arquivos gerados pela build)
└── pom.xml

Descrição dos Diretórios e Arquivos

  • conversations/: Contém arquivos de conversas salvas e gerenciadas pela aplicação. Esses arquivos são usados para armazenar e recuperar conversas anteriores.

  • lib/: Diretório destinado a bibliotecas externas (.jar) utilizadas pelo projeto. Essas bibliotecas são necessárias para o funcionamento da aplicação.

  • src/main/java/com/jorgeluisreis/askconsole/: Diretório principal onde o código-fonte da aplicação está localizado.

    • ChatHandler.java: Responsável por gerenciar a lógica das conversas, incluindo a interação com o usuário e o processamento das respostas da API.

    • Main.java: Ponto de entrada da aplicação. Inicializa e configura o ambiente, além de iniciar o menu principal.

    • MenuManager.java: Gerencia o menu da aplicação, incluindo a exibição de opções e a navegação entre diferentes funcionalidades.

    • client/: Contém classes relacionadas à interação com a API Gemini.

      • ApiKeyManager.java: Gerencia a chave API necessária para autenticação e acesso aos serviços da API.

      • GeminiApiClient.java: Implementa a comunicação com a API Gemini, enviando solicitações e processando respostas.

    • service/: Contém a classe de interação do chat com o Gemini

    • util/: Contém utilitários e classes auxiliares para a aplicação.

      • ConversationManager.java: Gerencia o armazenamento e recuperação de conversas, facilitando o armazenamento persistente.

      • JsonUtil.java: Fornece métodos utilitários para manipulação de dados JSON, como análise e serialização.

      • TextFormatter.java: Auxilia na formatação e exibição de textos no console, incluindo a aplicação de estilos e cores.

  • pom.xml: Arquivo de configuração do Maven que define as dependências do projeto, plugins e outras configurações necessárias para a construção da aplicação.

Clone this wiki locally