Wiki - FawzaanJuhoor/CoreTech GitHub Wiki
🚗 CoreTech Auto Care- Vehicle Maintenance & Service Management System
Welcome to the CoreTech project Wiki!
This system is a Java-based Vehicle Maintenance & Service Management solution, streamlining operations for automotive service centers.
It features:
- A JavaFX user interface
- An Oracle database using PL/SQL stored procedures and triggers
🎓 This project aligns with academic requirements for:
ITE5220 - PL/SQL Oracle Database Programming
ITE5215 - Advanced Java SE Application Development
at Humber Polytechnic.
📌 Project Overview
🎯 Purpose
CoreTech AutoCare aims to provide an efficient system for managing:
- Customer appointments
- Service history
- Inventory tracking
⚙️ Key Functionalities
- JavaFX-Based UI: Modern, intuitive interface
- Dynamic Displays: Real-time updates of schedules, bills & inventory
- Customer Interaction: Book appointments, view history, make payments
- Responsive Design: Optimized for various screen resolutions
- PL/SQL Procedures: Manage records and transactions
- Triggers: Automate inventory alerts, service reminders
- Exception Handling: Rollback mechanisms and validations
- Role-Based Access Control: Admins, mechanics, and customers
- Inventory Management: Track, alert, and update stock levels
- Appointment Scheduling: Notifications and calendar-ready flow
- Secure Transactions: Data integrity with backend encryption
🎯 Project Objectives
- Centralized Oracle database for all key records
- JavaFX frontend for interactive user experience
- Efficient PL/SQL logic for data consistency
- Security with audit logging
- Generate detailed invoices via stored functions
📁 Project Structure
The project follows a Maven-based structure, organizing source code, resources, and database scripts into logical directories:
CoreTech/
(Root Directory)mvnw
,mvnw.cmd
– Maven wrapper scripts for Windows and Unixpom.xml
– Maven configuration file for dependencies and build settings.gitignore
– Specifies files/folders to be excluded from version controldatabase/
coretech.sql
– SQL script to create and populate the Oracle database schema
Images/
WhiteVersion.png
,BlackVersion.png
– Project logos (light and dark versions)icons/
– UI icon assets used in the JavaFX frontendappointment.png
car.png
logout.png
- ... (other icons)
src/
main/
java/
com/coretech/coretech/
App.java
– Main application launcher (e.g.,HelloApplication.java
)controllers/
– JavaFX controllersLoginController.java
AppointmentController.java
DashboardController.java
- ...
models/
– Java entity/model classesCustomer.java
Vehicle.java
Appointment.java
Invoice.java
- ...
db/
– Data Access Object (DAO) classesCustomerDAO.java
VehicleDAO.java
AppointmentDAO.java
- ...
util/
– Utility classesPasswordUtil.java
ValidatorUtil.java
resources/
fxml/
– JavaFX UI layout filesLogin.fxml
Dashboard.fxml
AddAppointment.fxml
- ...
styles/
main.css
– Styling for JavaFX components
images/
– Additional images used in UI
target/
(Generated after Maven build - ignored by Git)classes/
– Compiled.class
files and copied resources- Mirrors structure of
src/main/java
andsrc/main/resources
- Mirrors structure of
🎨 Design Mockup
You can explore the UI design mockup via Figma:
👉 View Figma Mockup
🛠️ Technology Stack
Layer | Technology |
---|---|
Frontend | JavaFX |
Backend | Oracle 19c + PL/SQL |
Build | Maven |
Language | Java (SE) |
🚀 Getting Started
- Clone the Repo
git clone <https://github.com/FawzaanJuhoor/CoreTech.git>
- Set Up the Database
Open Oracle SQL Developer or your preferred tool.
Run the script:
@database/coretech.sql
Add your database credentials in the DBConnection.java File.
- Build and Run the Application