This repository contains a structured Spring Boot application developed step-by-step, following modern backend development practices. The project includes database integration, error handling, authentication, and user security using JWT.
This application was built to explore and learn key concepts in the Spring ecosystem:
- 🌱 Spring Framework & Spring Boot fundamentals
- ⚡ Creating projects with Spring Initializr
- 🛠️ Using profiles in IntelliJ
- 🗂️ Spring Boot project structure
- 💾 Persistence with Spring Data JPA
- 🐘 PostgreSQL configuration
- 🔗 RESTful Product API
- 🚨 Global and custom exception handling
- 🔒 Authentication and security with Spring Security and JWT
All documentation is organized by topic for easy navigation:
- Essential fundamentals to get started with Spring and set up the environment.
- 📖 01_spring_intro.md — Spring & Spring Boot Introduction
- 📖 02_initializr_project.md — Creating a project with Spring Initializr
- 📖 03_profiles_intellij.md — IntelliJ profile configuration
- 📖 04_structure.md — Basic project structure
- 📖 05_data_persistence.md — Data persistence with Spring Data JPA
- 📖 06_postgres_config.md — PostgreSQL setup
- 📖 07_product_api.md — Creating the Product API
- 📖 08_exception_handling.md — Exception handling
- 📖 09_global_exceptions.md — Global exception handling
- 📖 10_security_jwt.md — Authentication & Security (JWT)
- 📖 11_user_auth_routes.md — User authentication and route protection
- Prepare the environment to run the project.
- ⚙️ prerequisites.md — Prerequisites
- ⚙️ installation.md — Installation
- ⚙️ environment-variables.md — Environment Variables
- ⚙️ running-locally.md — Running Locally
- Structure, layers, and patterns of the application.
- 🏛️ layers.md — Architecture Layers
- 🏛️ modules.md — Modules
- 🏛️ domain-model.md — Domain Model
- 🏛️ rest-api-structure.md — REST API Structure
- 🏛️ diagrams.md — Diagrams
- Main features that make up the application.
- 🚀 authentication.md — Authentication
- 🚀 products.md — Products
- 🚀 cart.md — Cart
- 🚀 captcha.md — Captcha
- API routes, patterns, and responses.
- 📦 endpoints.md — Endpoints
- 📦 request-response-structure.md — Request/Response Structure
- 📦 error-handling.md — Error Handling
- 📦 pagination.md — Pagination
- 📦 versioning.md — Versioning
- Codes, conventions, and data formats.
- 📑 status-codes.md — HTTP Status Codes
- 📑 common-errors.md — Common Errors
- 📑 conventions.md — API Conventions
- 📑 data-types.md — Data Types
- Protection, authentication, and security mechanisms.
- 🛡️ jwt.md — JWT Authentication
- 🛡️ captcha.md — Captcha
- 🛡️ RateLimitingFilter.md — Rate Limiting
- 🛡️ LoggingInterceptor.md — Logging
- 🛡️ vpn.md — VPN/Proxy Considerations
- Advanced VPN filtering and analysis tools.
- 🛰️ overview.md — VPN Advanced Overview
- 🛰️ checker.md — VPN Checker
- 🛰️ risk.md — VPN Risk Service
- 🛰️ monitor.md — VPN Monitor
- 🛰️ filter.md — Anti-VPN Filter
- 🛰️ status.md — VPN Status Enum
- 🛰️ config.md — VPN Config
- 🛰️ integration.md — Integration Guide
- 🛰️ redis.md — Redis & ReactiveRedis
- Monitoring, logs, metrics, and system maintenance.
- ⚙️ monitoring.md — Monitoring
- ⚙️ logging-structure.md — Logging Structure
- ⚙️ metrics.md — Metrics
- ⚙️ health-checks.md — Health Checks
- ⚙️ troubleshooting.md — Troubleshooting
- ⚙️ ci-cd.md — CI/CD
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License.