src/main/java/com/saccoplus/
├── SaccoPlusApplication.java # Entry point
├── config/ # SecurityConfig, CorsConfig
├── controller/ # REST controllers (one per domain)
├── dto/
│ ├── request/ # Incoming request POJOs + validation
│ └── response/ # Outgoing response POJOs
├── entity/ # JPA entities
├── exception/ # GlobalExceptionHandler, custom exceptions
├── repository/ # Spring Data JPA interfaces
├── security/ # JwtFilter, JwtUtils, UserDetailsServiceImpl
├── service/ # Business logic interfaces
│ └── impl/ # Implementations
└── util/ # Helpers (calculators, schedulers)
src/main/resources/
├── application.yml # Dev + prod profiles
└── templates/email/ # Email templates
| Profile | DDL | SQL logging | Use |
|---|---|---|---|
dev |
update | enabled | Local dev |
prod |
validate | disabled | Production |
mvn spring-boot:run # run with dev profile
mvn test # run all tests
mvn package -DskipTests # build JAR
mvn spring-boot:run -Dspring-boot.run.profiles=prod # run prod profile- Add entity in
entity/ - Add repository in
repository/ - Add DTOs in
dto/request/anddto/response/ - Add service interface in
service/ - Add implementation in
service/impl/ - Add controller in
controller/ - Add tests in
src/test/