Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦷 DentalCare - Advanced Core REST API Backend

Java Spring Boot Spring Security JPA

📺 System Video

Click the banner below to watch the live architectural and feature demonstration of the DentalCare Management System:

about DentalCare 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.

🛠️ Advanced Backend Capabilities & Highlights

  • 🔒 Custom Spring Security Filter Chain: Fully integrated token interception workflows via SecurityConfig and ApplicationConfig to manage stateless JWT (JSON Web Tokens) validation sequences across user contexts.
  • 💳 External Payment Gateway Integration: Features a dedicated PayheareNotificationController engineered 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 like UserAlredyExistException to 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/*).

📁 Project Architecture & Directory Structure

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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages