Click the banner below to watch the live architectural and feature demonstration of the DentalCare Management System:
The absolute transactional core brain of the DentalCare Clinic Management System. This is a production-grade, highly secure Spring Boot REST API backend engine designed using strict enterprise-level multi-tier design patterns. It serves a decoupled multi-frontend architecture (Operational System User Workspace and Patient-Facing Client Interfaces) via standardized, stateless resource pathways.
- 🔒 Custom Spring Security Filter Chain: Fully integrated token interception workflows via
SecurityConfigandApplicationConfigto manage stateless JWT (JSON Web Tokens) validation sequences across user contexts. - 💳 External Payment Gateway Integration: Features a dedicated
PayheareNotificationControllerengineered to listen to asynchronous payment confirmation webhooks from the PayHere Sandbox Gateway, routing financial transaction logs safely. - 🛡️ Secure Token-Based Account Recovery: Complete authentication lifecycle logic incorporating secure, expiration-bound password reset token mechanisms (
password_reset_tocken.java) and password reset endpoints. - 📬 Multi-Service Business Logic Layer: Dynamic transactional business layers handling real-time asynchronous email notification dispatches (
EmailServic.java), internal clinic allocations, and appointment cycles. ⚠️ Centralized Global Error Resilience: Complete interception of application exceptions using an isolated validation advisor (GlobalExceptionHandler.java), trapping customized runtimes likeUserAlredyExistExceptionto enforce predictable corporate JSON error specs.- 🗄️ Relational Data Layer Boundaries: Complete isolation between domain persistence tables (
Entyty/*) and external boundary layers achieved by marshaling structured Data Transfer Objects separated under localized layout rules (Dto/Util/*).
The project strictly follows a layered design contract (Controller ➡️ Service ➡️ Repository) managed cleanly as Singleton beans by the Spring IoC Container:
DentalCare-BackendApi/
│
└── src/main/java/lk/ijse/gdse74/posa/ # Core System Root Domain Namespace
│
├── Config/ # Security Configurations & Bean Dependencies
│ ├── ApplicationConfig.java # AuthenticationProvider & Manager Beans
│ └── SecurityConfig.java # SecurityFilterChain & CORS Configurations
│
├── Controller/ # Secure REST Endpoints (HTTP Protocol Handlers)
│ ├── AppointmentController.java
│ ├── AuthenticationController.java # User Sign-up, Sign-in, & Token validation
│ ├── CustomerController.java
│ ├── DoctorDeatilsController.java
│ ├── PayheareNotificationController.java # PayHere Gateway Webhook Target
│ ├── SystemuserController.java
│ └── passwordresetController.java # Reset Token verification triggers
│
├── Dto/
│ └── Util/ # Layer-to-Layer Data Carriers (Data Protection)
│ ├── ApoinmantCustomDto.java
│ ├── AppoinmantUpdateDto.java
│ ├── AppointmentDto.java
│ ├── AuthDto.java
│ ├── CustomerDto.java
│ ├── DoctorsDetailsDto.java
│ ├── SystemUserDto.java
│ └── UserSessionDto.java
│
├── Entyty/ # Relational Database Mapping Schema Layers
│ ├── enums/ # Static system role configurations
│ ├── AppointmentEntity.java # Relational mappings for patient tickets
│ ├── CustomerEntity.java
│ ├── DoctorsDetailsEntity.java # Doctor scheduling availability blueprints
│ ├── SystemUserEntity.java # Administrative profile records
│ ├── TemporyApoinmant.java # Intermediate booking reservation allocations
│ ├── UserSession.java # Stateful session auditing tracking records
│ └── password_reset_tocken.java # Dynamic password recovery tokens
│
├── Exception/ # Custom Business Exception Definitions
│ ├── GlobalExceptionHandler.java # Intercepts runtime failures across controllers
│ └── UserAlredyExistException.java # Specific validation conflict handler
│
├── Repository/ # Spring Data JPA Database Abstraction Layers
│ ├── AppointmentRepository.java
│ ├── CustomerRepository.java
│ ├── DoctorDeatilsRepository.java
│ ├── PaymentGatewayRepository.java # Financial logging operations
│ ├── ResertPasswordRepository.java # Token lookup mapping engine
│ └── SystemUserRepoSitory.java
│
└── Service/ # Core Transactional Business Logic Engine
├── Impl/ # High-fidelity concrete logical execution tiers
│ ├── AppointmentService.java
│ ├── CustomerService.java
│ ├── DoctorDeatilsService.java
│ ├── EmailServic.java # Background mail dispatch handlers
│ ├── PasswordResetService.java # Business checks for expired recovery hashes
│ ├── PaymentGatewayService.java
│ └── SystemUserService.java
└── Util/ # Domain Mapping & Shared Utility Helpers