Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mauriciohidani/alurachallengerandomphrases
Alura One G7 - Challenge Random Phrases Generator
https://github.com/mauriciohidani/alurachallengerandomphrases
alura challenge css html java javascript learning omdb one openai oracle sql
Last synced: 4 days ago
JSON representation
Alura One G7 - Challenge Random Phrases Generator
- Host: GitHub
- URL: https://github.com/mauriciohidani/alurachallengerandomphrases
- Owner: mauricioHidani
- Created: 2024-11-05T11:23:01.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-08T11:49:20.000Z (3 months ago)
- Last Synced: 2024-11-19T02:55:57.893Z (2 months ago)
- Topics: alura, challenge, css, html, java, javascript, learning, omdb, one, openai, oracle, sql
- Language: Java
- Homepage:
- Size: 166 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Desafio Frases Aleatórias
🚩Java e Orientação a Objetos G7 - ONE
📅5 de novembro de 2024 - 📍São Paulo, Brasil
🌎[@Alura](https://www.alura.com.br/) | [@One](https://www.oracle.com/br/)![283493070-a4597a93-d8de-43d8-974d-2f4e274e336c](https://github.com/user-attachments/assets/7138967f-646d-4d2a-b84e-63969b34bd9a)
## Versões
- [Java 21](https://docs.oracle.com/en/java/javase/21/)
- [Maven](https://maven.apache.org/what-is-maven.html)
- [OpenAI Platform](https://platform.openai.com)
- [API OMDB](https://www.omdbapi.com/)## 🔨 Objetivos do projeto
- O objetivo do projeto é consolidar seus conhecimentos adquiridos ao longo da formação, no que tange a Spring, Streams, JPA, aplicação Web;
- É importante iniciar o projeto do zero e ir modelando as classes, testando o acesso ao banco, verificando erros ao tentar obter dados pela aplicação front;
- Criar corretamente o controlador, mapeando a rota que a aplicação front-end irá consumir;
- Entender e corrigir erros referente a CORS;
- Promover uma experiência fullstack entendendo o fluxo da aplicação ponta a ponta.- Você precisará criar uma API REST, que disponibilize dados através do endpoint http://localhost:8080/series/frases;
- Será necessário criar as classes Controller, Service, Repository para implementar as requisições e busca ao banco;
- Será necessário criar a classe Model denominada **Frase** com os atributos _id_, _titulo_, _frase_, _personagem_ e _poster_;
- Também é interessante criar a classe SerieDTO que será responsável por representar os dados que serão devolvidos para a aplicação front-end;## Configurações de utilização
A aplicação utiliza de 2 APIs para realizar suas operações.Será necessário possuir uma chave da API da [OMDB](https://www.omdbapi.com/) para consumir informações sobre séries e filmes, como também para gerar as frases dos personagens, que foi utilizada a API da [OpenAI](https://platform.openai.com)
Após conseguir as 2 chaves de acesso `apiKey`, no arquivo `application.yml` presente no diretório `./backend/src/main/resources/`, modifique os seguintes campos:
```yaml
openai:
config:
apiKey: COLOQUE_AQUI_A_CHAVE_DA_OPEN-AI
``````yaml
omdb:
config:
apiKey: COLOQUE_AQUI_A_CHAVE_DA_OMDB
```A aplicação também esta utilizando dois perfis de ambiente `prod` e `test`, onde basicamente o ambiente `prod` utiliza do SGBD _Postgres_ e o de `test` utiliza o banco de dados em memória _H2_. Para conseguir modificar o Perfil/Profile, é possivel encontrar essa configuração em `./backend/src/main/resources/application.yml`:
```yaml
spring:
profiles:
active: MODIFIQUE_AQUI # prod ou test
```## Descrição
**Tela Frases Aleatórias**![image](https://github.com/user-attachments/assets/f8b27135-24fc-4ef9-8a20-86f046940a3c)
**Gerando Frases Por Titulo**
![image](https://github.com/user-attachments/assets/33585165-e55c-4aaa-97ef-d0b29a22f40d)