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

https://github.com/hmarchiori/spring-bootcamp

This collection contains a compelling Spring Boot 3.4.1 course project covering various REST API fundamentals and structure practice.
https://github.com/hmarchiori/spring-bootcamp

actions api api-rest aws cors docker dto-pattern factory-pattern flyway java jpa-hibernate jwt kubernetes mockito mysql reactjs spring spring-boot swagger-ui

Last synced: 2 months ago
JSON representation

This collection contains a compelling Spring Boot 3.4.1 course project covering various REST API fundamentals and structure practice.

Awesome Lists containing this project

README

          

# ๐ŸŒŸ Spring Boot(camp)

## ๐Ÿ“Œ Project Overview

This repository contains a comprehensive Spring Boot 3.4.1 course project covering REST API development from fundamentals to production deployment. The curriculum progresses through 38 structured sections, combining theoretical foundations with practical implementation.
The course can be found at [Udemy](https://www.udemy.com/course/restful-apis-do-0-a-nuvem-com-springboot-e-docker/).

---

## ๐Ÿ“š Course Curriculum

### ๐Ÿงฑ Core Fundamentals

| Section | Topic | Status |
|--------|------------------------------|--------|
| 01 | Introduction | โœ”๏ธ Complete |
| 02 | REST Theoretical Foundations | โœ”๏ธ Complete |
| 03 | Pre-Coding Essentials | โœ”๏ธ Complete |
| 04 | Spring Boot + Java 21 | โœ”๏ธ Complete |
| 05 | Path Parameters & Exceptions | โœ”๏ธ Complete |
| 06 | HTTP Verbs | โœ”๏ธ Complete |
| 07 | JPA + MySQL | โœ”๏ธ Complete |
| 08 | Logging | โœ”๏ธ Complete |
| 09 | DTO Pattern | โœ”๏ธ Complete |
| 10 | API Versioning | โœ”๏ธ Complete |
| 11 | Flyway Migrations | โœ”๏ธ Complete |
| 12 | JSON Serialization | โœ”๏ธ Complete |
| 13 | Content Negotiation | โœ”๏ธ Complete |
| 14 | HATEOAS | โœ”๏ธ Complete |
| 15 | Swagger/OpenAPI | โœ”๏ธ Complete |

---

### ๐Ÿš€ Advanced Features

| Section | Topic | Status |
|--------|---------------------------|--------------|
| 16 | Docker | โœ”๏ธ Complete |
| 17 | TestContainers | โœ”๏ธ Complete |
| 18 | CORS | โœ”๏ธ Complete |
| 19 | PATCH Verb | โœ”๏ธ Complete |
| 20 | Query Params & Pagination | โœ”๏ธ Complete |
| 21 | File Upload/Download | โœ”๏ธ Complete |
| 22 | Excel/CSV | โœ”๏ธ Complete |
| 23 | JasperReports | โŒ Skipped |
| 24 | Spring Mail | โŒ Incomplete |
| 25 | JWT Auth | โŒ Incomplete |
| 26 | API Security Testing | โŒ Incomplete |
| 27 | Docker Compose | โŒ Incomplete |
| 28 | Dockerized App | โŒ Incomplete |
| 29 | AWS Deployment | โŒ Incomplete |
| 30 | GitHub Actions | โŒ Incomplete |

Could not create an account for Jasper, waiting for admin response.

---

### โ˜๏ธ Cloud Deployment

| Section | Topic | Status |
|--------|----------------|--------|
| 31 | GCP Deployment | โŒ Incomplete |
| 32 | GCP CD | โŒ Incomplete |
| 33 | Kubernetes | โŒ Incomplete |
| 34 | GKE | โŒ Incomplete |
| 35 | GKE CD | โŒ Incomplete |

---

### โœจ Extra Modules

| Section | Topic | Status |
|--------|---------------------|--------|
| 36 | ReactJS Integration | โŒ Incomplete |
| 37 | ChatGPT API | โŒ Incomplete |
| 38 | DB Connections | โŒ Incomplete |

---

## ๐Ÿงช Technical Specifications

**Core Stack:**
Java 21 โ€ข Spring Boot 3.4.1 โ€ข Spring Data JPA โ€ข Spring Security

**Database:**
MySQL 8.0 โ€ข Flyway (schema migrations)

**API Tooling:**
Swagger/OpenAPI 3.0 โ€ข HATEOAS/HAL โ€ข REST Assured

**Infrastructure:**
Docker 24.x โ€ข Kubernetes 1.28 โ€ข AWS ECS/RDS โ€ข GCP Cloud Run/GKE

---

## ๐ŸŽ“ Learning Outcomes

By completing this course, students will be able to:

- Design production-grade REST APIs following Richardson Maturity Model ( โœ”๏ธ Complete )
- Implement JWT authentication with Spring Security ( โŒ Incomplete )
- Configure automated testing pipelines (unit, integration, E2E) ( โœ”๏ธ Complete )
- Apply enterprise patterns (DTO, Strategy, Factory) ( โœ”๏ธ Complete )
- Deploy multi-cloud solutions with monitoring capabilities ( โŒ Incomplete )
- Generate professional reports using JasperReports ( โŒ Incomplete )

---

๐Ÿ‘ค Author

- Henrique Marchiori
- Computer Science Undergraduate โ€” PUCRS
- GitHub: [github.com/HMarchiori]
- Email: [h.marchiori@edu.pucrs.br]