Skip to content

CharioMich/java-database-capstone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Clinic Management System Full-Stack App

This is the main project from Java Development Capstone Project course and was created using okssu-java-database-capstone-template template.

This is a Spring Boot full-stack application following the MVC (Model–View–Controller) architectural pattern.
It represents a Clinic Management System (CMS) providing both Thymeleaf templates and REST APIs. The application interacts with two databases—MySQL (for patient, doctor, appointment, and admin data) and MongoDB (for prescriptions).

Since Spring MVC is used for this project, code is organized into three layers:

  • Model: Data and business logic
  • View: UI or presentation layer
  • Controller: Handles input and orchestrates between Model and View

Info:

  • Big enumerated comment blocks in some project files are the initial code development instructions provided by the course.
  • There is a central Service class that provides multiple functionalities: authentication, validation, and coordination across entities.

Improvements

The project is developed under the course instructions, so any personal opinions regarding structure, logic or design are limited. Below I am stating some things I would personally implement differently:

  • Common responses among methods. Some return zeros and ones while others true or false
  • Implementation of Mapper class to map entities to DTOs and vice versa
  • More robust role checking. Current one is fragile and introduces potential security issues
  • Spring security implementation & Password encoding
  • Access Token to be transferred via the headers and not in the url.
  • Use of Lombok annotations for reducing boilerplate code
  • Separation of validation logic into a validator class
  • Global error handling
  • Records as DTOs

🚧 Project Under Construction...

About

Capstone project for IBM's Java Developer Professional Certificate

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published