- Notifications
You must be signed in to change notification settings - Fork0
ManibalaSinha/java-microservices-kafka-automation
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
ASpring Boot 3 + Maven powered backend service for a SaaS-style e-learning platform.This project demonstrates how to build aproduction-ready backend with authentication, user management, and secure APIs.
Designed to showcase clean architecture, modern Java practices, and readiness for scaling SaaS applications.
- Backend Framework:Spring Boot 3
- Build Tool: Maven
- Language: Java 17+
- Database: PostgreSQL (configurable to H2 for testing)
- ORM: Spring Data JPA
- Authentication & Security: Spring Security with form login (extendable to JWT/OAuth2)
- Testing: JUnit 5, Spring Boot Test
- Dev Tools: Lombok, Spring Boot DevTools
backend/│── src/│ ├── main/java/com/sass/│ │ ├── BackendApplication.java # Main entry point│ │ ├── config/ # Spring Security & App Config│ │ ├── controller/ # REST API controllers│ │ ├── model/ # JPA Entities│ │ ├── repository/ # Data Access Layer│ │ └── service/ # Business Logic Layer│ └── test/java/com/sass/│ └── DemoApplicationTests.java # Unit/Integration tests│└── pom.xml # Maven dependenciesEntry Point
BackendApplication.javastarts the application withSpringApplication.run(...).- Automatically scans
com.sasspackage and its subpackages.
User Request
- Example: User navigates to
http://localhost:8080/login. - Spring Security intercepts the request and shows alogin page.
- Example: User navigates to
Authentication
- If login fails → redirected to
/login?error. - If login succeeds → redirected to home page or protected API.
- If login fails → redirected to
Controllers
- REST controllers in
controller/handle user-facing endpoints like/api/courses,/api/users.
- REST controllers in
Services
- Business logic resides in
service/classes (e.g., course creation, enrollment rules).
- Business logic resides in
Data Persistence
- Services call
repository/interfaces. - Spring Data JPA translates repository calls into SQL queries to PostgreSQL.
- Services call
Response
- Data is returned asJSON, ready to be consumed by a React/Flutter frontend.
git clone https://github.com/ManibalaSinha/saas-backend.gitcd saas-backendUpdateapplication.properties insrc/main/resources/:
spring.datasource.url=jdbc:postgresql://localhost:5432/saasdbspring.datasource.username=postgresspring.datasource.password=yourpasswordspring.jpa.hibernate.ddl-auto=update
(For quick start, you can switch to in-memory H2 by uncommenting H2 config.)
mvn spring-boot:run
Backend will start on:http://localhost:8080
mvntestGET /login→ Login Page (Spring Security)GET /api/users→ Fetch all usersPOST /api/courses→ Create new courseGET /api/courses/{id}→ Fetch course details
clean architecture in a real-world SaaS backend.Spring Security for authentication & authorization.Built withmodern Spring Boot 3 and Java 17.Integrating withReact frontend.Followsenterprise-grade practices
** Manibala Sinha**🔗LinkedIn |GitHub
If you like this project, don’t forget to star the repo – it motivates me to build more!
About
A Spring Boot 3 backend for a SaaS-style e-learning platform with authentication, REST APIs, and PostgreSQL integration. Clean architecture, Spring Security, and production-ready.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.