{"id":22396026,"url":"https://github.com/wallisonlucas13/maya-server","last_synced_at":"2026-04-20T09:03:03.831Z","repository":{"id":261969989,"uuid":"882726866","full_name":"WallisonLucas13/maya-server","owner":"WallisonLucas13","description":"Este projeto é uma API desenvolvida inteiramente em Java, projetada para possibilitar a interação de usuários com o Chat Bot chamado Maya. O objetivo desta API é fornecer endpoints de conversação com a Maya, a fim de sanar dúvidas gerais e responder perguntas específicas que os usuários possam ter.","archived":false,"fork":false,"pushed_at":"2025-02-26T22:36:03.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T23:13:41.982Z","etag":null,"topics":["azure","java","mysql","spring","springai"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WallisonLucas13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-03T15:50:32.000Z","updated_at":"2025-02-26T22:36:07.000Z","dependencies_parsed_at":"2024-12-08T18:17:22.462Z","dependency_job_id":"17292850-3379-48e0-9e6b-918bca121467","html_url":"https://github.com/WallisonLucas13/maya-server","commit_stats":null,"previous_names":["wallisonlucas13/mayaai_server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallisonLucas13%2Fmaya-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallisonLucas13%2Fmaya-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallisonLucas13%2Fmaya-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallisonLucas13%2Fmaya-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WallisonLucas13","download_url":"https://codeload.github.com/WallisonLucas13/maya-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245749907,"owners_count":20666086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","java","mysql","spring","springai"],"created_at":"2024-12-05T06:06:40.254Z","updated_at":"2026-04-20T09:03:03.779Z","avatar_url":"https://github.com/WallisonLucas13.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Maya Server\n\n## Visão Geral\nBem-vindo ao repositório **maya-server**! Este projeto é uma API desenvolvida inteiramente em Java, projetada para possibilitar a interação de usuários com o Chat Bot chamado Maya. O objetivo desta API é fornecer endpoints de conversação com a Maya, a fim de sanar dúvidas gerais e responder perguntas específicas que os usuários possam ter.\n\n## Funções da API\nEste projeto inclui diversos endpoints que permitem:\n- Enviar mensagens\n- Listar mensagens de uma conversa\n- Listar todas as conversas de um usuário com o bot chamado Maya\n\nTodas as mensagens e conversas são salvas em um banco de dados MySQL. O histórico da conversa é recuperado e inserido no prompt a cada nova mensagem do usuário. Dessa forma, o GPT-4 sempre possui o contexto adequado para maximizar a qualidade de suas respostas. Também é gerado no mesmo prompt um título para a conversa com base nos assuntos mais relevantes do histórico.\n\n## Tecnologias Utilizadas\n- **Java**: A linguagem principal usada para desenvolver este projeto.\n- **Spring Boot**\n- **Spring AI**\n- **Biblioteca da OpenAI**\n- **Spring Security e JWT**\n- **Spring Data JPA**\n- **MySQL**\n- **Azure Application Web Resource para deploy**\n- **Azure Database for MySQL**\n- **GitHub Actions para CI/CD**\n\n## Instruções de Configuração\n1. **Clone o repositório:**\n   ```sh\n   git clone https://github.com/WallisonLucas13/maya-server\n   ```\n2. **Navegue até o diretório do projeto:**\n   ```sh\n   cd maya-server\n   ```\n3. **Construa o projeto:** Foi utilizado Maven, mas escolha conforme sua necessidade.\n\n## Exemplos de Uso\n\n### Funcionalidade - Enviar Mensagem\n- **Endpoint:** `/api/mensagem`\n- **Método:** POST\n- **Descrição:** Envia uma mensagem para a Maya.\n- **Header:** `Authorization: Token JWT gerado ao realizar login ou se registrar.`\n  \n**Payload:**\n```json\n{\n  \"message\": \"Oii\"\n}\n```\n\n**Resposta:**\n```json\n{\n  \"conversationId\": \"9255c886-713a-4cf4-bc09-415627b715f7\",\n  \"id\": \"1beaa2cd-fe6f-4662-ad4a-8b0a1d43ce12\",\n  \"type\": \"SYSTEM\",\n  \"message\": \"Oi, Wallison! Como posso ajudar você hoje?\",\n  \"createdAt\": \"2024-11-12T22:32:29.469337066\"\n}\n```\n\n### Funcionalidade - Obter dados de uma conversa com a Maya\n- **Endpoint:** `/api/conversa?conversationId={{conversationId}}`\n- **Método:** GET\n- **Descrição:** Busca todos os dados de uma conversa, incluindo as mensagens.\n- **Header:** `Authorization: Token JWT gerado ao realizar login ou se registrar.`\n\n**Resposta:**\n```json\n{\n  \"id\": \"9255c886-713a-4cf4-bc09-415627b715f7\",\n  \"username\": \"Wallison\",\n  \"title\": \"Saudações e Assistência\",\n  \"messages\": [\n    {\n      \"conversationId\": \"9255c886-713a-4cf4-bc09-415627b715f7\",\n      \"id\": \"30f5f5c0-c1f9-4a8e-b1df-af1181638264\",\n      \"type\": \"USER\",\n      \"message\": \"Oii\",\n      \"createdAt\": \"2024-11-12T22:32:23.761059\"\n    },\n    {\n      \"conversationId\": \"9255c886-713a-4cf4-bc09-415627b715f7\",\n      \"id\": \"1beaa2cd-fe6f-4662-ad4a-8b0a1d43ce12\",\n      \"type\": \"SYSTEM\",\n      \"message\": \"Oi, Wallison! Como posso ajudar você hoje?\",\n      \"createdAt\": \"2024-11-12T22:32:29.469337\"\n    }\n  ],\n  \"createdAt\": \"2024-11-12T22:32:23.145538\"\n}\n```\n\n### Funcionalidade - Obter todas as conversas de um usuário\n- **Endpoint:** `/api/conversas`\n- **Método:** GET\n- **Descrição:** Busca uma lista de conversas com a última mensagem enviada pelo usuário em cada uma delas.\n- **Header:** `Authorization: Token JWT gerado ao realizar login ou se registrar.`\n\n**Resposta:** Lista de conversas ordenadas pela data da última mensagem enviada em cada uma delas.\n\n## Outras Funcionalidades\nA API também conta com métodos de autenticação, onde o usuário realiza o cadastro ou faz login e recebe um token JWT válido por 2 horas. Esse token deve ser passado em todas as requisições relacionadas à regra de negócio.\n\n## Deploy\nApi hospedada na Azure por meio de CI/CD.\n(https://mayaai-api.azurewebsites.net)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwallisonlucas13%2Fmaya-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwallisonlucas13%2Fmaya-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwallisonlucas13%2Fmaya-server/lists"}