Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arthurlunkes/desafios_alfa

Desafios da Alfa Consultorias realizados utilizando spring boot com java, react e banco H2.
https://github.com/arthurlunkes/desafios_alfa

css h2-database html5 java javascript reactjs spring-boot

Last synced: 20 days ago
JSON representation

Desafios da Alfa Consultorias realizados utilizando spring boot com java, react e banco H2.

Awesome Lists containing this project

README

        

# Desafios_Alfa

![desafio 1](https://github.com/arthurlunkes/Desafios_Alfa/blob/main/images/desafio1.PNG)

## Descrição do projeto

Desafios da Alfa Consultorias realizados utilizando Spring Boot com Java, React-js e banco H2.

Desafio 1: Criar um gerenciador de chamados simples (CRUD).

Desafio 2: Criar uma API para consumir outra API de buscar receitas pelo nome do prato.

## Tecnologias Utilizadas

- Java 17
- Spring Boot
- React

### Tópicos importantes


  1. Backend desafio 1 (Java com Spring)

  2. Frontend desafio 1 (React)

  3. Backend desafio 2 (Java com Spring)

  4. Informações adicionais

  5. Passos para rodar esse projeto

  6. Considerações finais

  7. Possíveis Melhorias


Backend desafio 1 (Java com Spring)


### Descrição

O Backend do sistema foi desenvolvido utilizando a linguagem Java juntamente com Spring. Essa camada é responsável por gerenciar a lógica de negócio, acessar o banco de dados e disponibilizar APIs REST para serem consumidas pelo Frontend.

| Método | Backend | Frontend |
|--|--|--|
| GET | ✔️ | ✔️ |
| POST | ✔️ | ✔️ |
| PUT | ✔️ | ✔️ |
| DEL | ✔️ | ✔️ |

### Funcionalidades Implementadas

- CRUD (Create, Read, Update, Delete) de chamados
- Validação de dados e tratamento de erros
- Integração com banco de dados utilizando Spring Data JPA e banco de dados em memória H2
- Implementação de endpoints REST
- Documentação da API utilizando o Postman


Frontend desafio 1 (React)


### Descrição

O Frontend do sistema foi desenvolvido utilizando a biblioteca React. Essa camada é responsável por apresentar a interface de usuário, realizar requisições para o Backend e exibir os dados de forma interativa e amigável.

### Funcionalidades Implementadas

- Criação de componentes reutilizáveis
- Gerenciamento de estado
- Roteamento de páginas utilizando React Router
- Consumo de APIs RESTful utilizando a biblioteca Axios
- Estilização de componentes utilizando CSS e bibliotecas


Backend desafio 2 (Java com Spring)


### Descrição

O Backend do sistema foi desenvolvido utilizando a linguagem Java juntamente com Spring. Essa camada é responsável por gerenciar a lógica de negócio e disponibilizar APIs REST para serem consumidas.

| Método | Backend |
|--|--|
| GET | ✔️ |
| POST | ✔️ |
| PUT | ✔️ |
| DEL | ✔️ |

### Funcionalidades Implementadas

- Validação de dados e tratamento de erros
- Implementação de endpoints REST
- Documentação da API utilizando o Postman


Informações adicionais


- Algumas informações úteis estão no arquivo application.properties para o desafio 1:
![properties desafio 1](https://github.com/arthurlunkes/Desafios_Alfa/blob/main/images/properties.PNG)
- Pode acessar a documentação de consumo dos endpoints no Postman [aqui!](https://www.postman.com/spacecraft-participant-60213181/workspace/workspacepublic/collection/19564710-269cef77-f786-44e7-a250-577d71f4e615?action=share&creator=19564710), está tudo organizado em pastas e cada request tem seus exemplos de sucesso e erro.
![postman](https://github.com/arthurlunkes/Desafios_Alfa/blob/main/images/postman.PNG)

- Quando rodar o backend do desafio 1, pode acessar o banco H2 pelo navegador utilizando o link: http://localhost:8080/h2-console


Passos para rodar esse projeto


1. Baixe esse repositório via git ou GitHub Desktop
2. Abra a pasta do backend com a IDE de sua preferência
3. Baixe as dependências do projeto, seguindo os passo a passo da sua IDE
4. Starte a aplicação a partir da classe ...Application
5. Abra a pasta do frontend com o VSCode (exceto para projeto 2 que não tem frontend)
6. Abra o terminal na pasta
7. Rode o comando npm install (Para instalar as dependências)
8. Após terminar de baixar, rode o comando npm start
9. Pronto para testar!


Considerações finais


O desenvolvimento dos desafios utilizando Java com Spring Boot e React foi concluído com sucesso, com todos os requisitos funcionando corretamente. Foi feito o tratamento dos erros no desafio 2, com os códigos HTTP apropriados, visto que a API original não tinha esses tratamentos.


Possíveis Melhorias


- Incluir testes automatizados para garantir a qualidade e a robustez do código.
- Expandir as funcionalidades dos desafios ou criar novos desafios para praticar ainda mais as habilidades em programação.