The mention of brands such as Oral-B and Crest is for illustrative purposes only. This project is not affiliated with, sponsored by, or endorsed by any of these companies. All brand references are used as part of a UI demonstration.
DentalCare is a desktop-based Java application developed to manage dental clinic operations efficiently. The system supports multiple user roles, each with a customized interface, workflow, and permissions.
- Role-based dashboards
- Appointment scheduling engine
- Inventory management
- Reporting system (JasperReports)
- XML/JSON data integration
- MVC-like architecture
- Animated Java Swing UI
๐ฆท Project Description
DentalCare is a comprehensive desktop-based dental clinic management system developed using Java. The application is designed to streamline and automate core clinic operations, including patient management, appointment scheduling, treatment planning, inventory tracking, and billing. The system follows a structured architecture based on the EntityโControlโBoundary (MVC-like) design pattern, ensuring clear separation of responsibilities and maintainability.
The application integrates a Microsoft Access database ืืืืฆืขืืช JDBC (UCanAccess) to perform full CRUD operations and manage relational data efficiently. It includes advanced features such as role-based access control (Patient, Dentist, Secretary, Clinic Manager), intelligent appointment scheduling with availability checks and conflict prevention, real-time inventory alerts, and invoice generation.
In addition, the system supports data integration through XML import functionality and generates professional reports (such as Treatment Progress and Revenue Reports) using JasperReports. The user interface is built with Java Swing, featuring dynamic layouts, personalized dashboards, and enhanced user experience with visual elements and animations.
This project demonstrates strong skills in object-oriented programming, database design, system architecture, GUI development, and full-cycle application developmentโfrom design (UML diagrams) to implementation and deployment.
-
Each staff member has a unique design and theme
-
Animated UI using GIFs
-
Dynamic layout:
- Navigation panels
- Moving visual elements
- Personalized dashboards per role
-
Includes a daily changing tip
-
Logout returns the user to the main public page
-
Animated main screen
-
Feedback option
-
Search bar
-
Daily tip display
-
Direct contact with secretary for appointment booking
-
Login options:
- Patient
- Staff
- View personal profile
- View upcoming appointments
- View issued payments
- Book appointments
- Manage appointments (based on date)
- View treatment history
- Medical history
- Dental history
- Insurance details
- Each patient initially has sample data
- Can add new appointments
- Management works only for future appointments
- Based on appointment date
-
Book appointments for patients
-
Handle urgent appointments (auto current time)
-
Prevent double booking (filter unavailable time slots)
-
Confirm appointments (paid / unpaid)
-
View pending appointments
-
Send sterilization requests
-
View alerts:
- Low stock
- Expiring items
- Includes demo feature: Calls to Return
- Messages
- Upcoming appointments
- Personal information
- Animated panels
-
Create treatment plans
-
Add treatments automatically
-
Automatic cost calculation
-
Edit plans
-
View:
- Active plans
- Completed plans
-
Complete plans โ moved automatically
- Generate Invoice (PDF)
- Generate Treatment Progress Report (for all patients)
- Plan flow based on status
- Personal data
- Messages
- Revenue information
- Customized design
- Manage inventory (Add / Update / Delete)
- Manage suppliers
- Access doctor features
- Generate reports
- Export data
- Revenue Report
- Inventory Usage Report
- Export appointments report using JSON
- Java
- Java Swing (GUI)
- Microsoft Access Database
- JDBC (UCanAccess)
- JasperReports (for generating reports such as invoices, revenue reports, and treatment progress reports)
- XML (for importing inventory data)
- JSON (for exporting appointment reports)
- Git & GitHub (version control and project management)
src/โ source coderesources/โ images, GIFs, reports, databasebin/โ compiled files (not included in GitHub)lib/โ external libraries
-
Download the full project files from the Google Drive link provided below
-
Extract the project folder
-
Open the project using Eclipse IDE
-
Make sure all required libraries are added (located in the
lib/folder) -
Ensure the database and resource files are in their correct locations
-
Run the project:
- Open the main class (e.g.,
Main.java) - Right-click โ Run As โ Java Application
- Open the main class (e.g.,
- The project is intended to run within Eclipse IDE
- All required resources (database, reports, XML files) are included in the Google Drive folder
- Some features (such as XML import) depend on file path configuration
Due to GitHub upload limitations, the full project files ( with resources) are available here:
๐ Full Project Files: https://drive.google.com/file/d/1M5EmAmC2wqOB-RwKmCPRknaWjcgHSh1P/view?usp=sharing
- Patient management is based on date
- Dentist management is based on plan status
- Some parts are demo features
- Developed under academic constraints and time pressure
Developed as part of an academic project for dental clinic management.
This project is inspired by (https://www.dentalcare.com/en-us) . Some images used in this project are taken from publicly available sources for demonstration purposes only.
All rights belong to their respective owners.
