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

https://github.com/wallacemt/maisprati-m7

Módulo é focado na introdução à linguagem de programação Java, e o paradigma orientado a objetoMódulo é focado no framework Spring Boot, e no desenvolvimento de Apis.
https://github.com/wallacemt/maisprati-m7

java spring spring-boot

Last synced: about 2 months ago
JSON representation

Módulo é focado na introdução à linguagem de programação Java, e o paradigma orientado a objetoMódulo é focado no framework Spring Boot, e no desenvolvimento de Apis.

Awesome Lists containing this project

README

          

# Módulo 7 - Desenvolvimento de API’s Rest com Spring Boot

Bem-vindo ao repositório do Módulo 7 do bootcamp Mais para TI! Este módulo é focado no desenvolvimento de API’s REST utilizando o framework Spring Boot. Ao longo deste módulo, os alunos aprenderão os conceitos essenciais para criar e gerenciar API’s de forma eficaz com Spring Boot.

## 🚀 Objetivos do Módulo

O principal objetivo deste módulo é capacitar os alunos a desenvolverem API’s REST eficientes, compreendendo as boas práticas de segurança, manipulação de dados e testes. Ao final do módulo, você será capaz de:

- Compreender os conceitos fundamentais de API REST e a estrutura da Internet.
- Configurar e desenvolver aplicações back-end com Spring Boot.
- Manipular dados utilizando o Spring Data JPA.
- Documentar API’s utilizando Swagger.
- Implementar autenticação e autorização com Spring Security.
- Trabalhar com upload e download de arquivos.
- Gerenciar dependências e monitorar o estado da aplicação com Spring Boot Actuator.
- Integrar o sistema com bancos de dados, como MySQL.
- Testar a aplicação utilizando JUnit e Mockito.

## 🗂 Estrutura do Repositório

O repositório está organizado da seguinte forma:

- **/lessons**: Contém os arquivos desenvolvidos em aula.

## 📅 Cronograma do Módulo
### Cronograma do Módulo

1. **Introdução ao Desenvolvimento Back-end**
2. **Conceitos Básicos de API REST e Estrutura da Internet**
3. **Introdução ao Spring Boot e Configuração do Ambiente**
4. **Manipulação de Dados com Spring Data JPA**
5. **Validação de Dados e Tratamento de Exceções**
6. **Documentação de API com Swagger**
7. **Autenticação e Autorização com Spring Security**
8. **Upload e Download de Arquivos**
9. **Páginação, Ordenação e Filtragem de Dados**
10. **Testes de Unidade e Integração com JUnit e Mockito**
11. **Gerenciamento de Dependências com Spring Boot Actuator**
12. **Integração com Banco de Dados MySQL I**
13. **Integração com Banco de Dados MySQL II**

## 📚 Conteúdos Abordados

### Conceitos Fundamentais

* API REST: Fundamentos sobre a criação e consumo de APIs RESTful.
* Programação Orientada a Objetos (POO): Conceitos como classes, objetos, herança, polimorfismo e interfaces.

### Tecnologias

* Spring Boot: Desenvolvimento de aplicações back-end com Spring Boot.
* Spring Data JPA: Manipulação de dados e integração com banco de dados.
* Spring Security: Implementação de autenticação e autorização.
* Swagger: Documentação automatizada de APIs.
* JUnit e Mockito: Testes de unidade e integração para garantir a qualidade do código.
* Spring Boot Actuator: Monitoramento e gestão de dependências da aplicação.
* Integração com MySQL: Conexão e manipulação de dados em banco de dados MySQL.
* Upload e Download de Arquivos: Gerenciamento de arquivos na API.

### Práticas e Metodologias

* Metodologias Ágeis: Conceitos e práticas ágeis aplicados ao desenvolvimento de software.
* Tratamento de Exceções: Lidar com erros e exceções no código.
* Algoritmos: Técnicas de ordenação e busca.

## 🔧 Tecnologias Utilizadas
![Java](https://img.shields.io/badge/Java-ED8B00?style=for-the-badge&logo=openjdk&logoColor=white) 
![SpingBoot](https://img.shields.io/badge/Spring-6DB33F?style=for-the-badge&logo=spring&logoColor=white)