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 ProgrammingITE5215 - 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.pngcar.pnglogout.png- ... (other icons)
src/main/java/com/coretech/coretech/App.java– Main application launcher (e.g.,HelloApplication.java)controllers/– JavaFX controllersLoginController.javaAppointmentController.javaDashboardController.java- ...
models/– Java entity/model classesCustomer.javaVehicle.javaAppointment.javaInvoice.java- ...
db/– Data Access Object (DAO) classesCustomerDAO.javaVehicleDAO.javaAppointmentDAO.java- ...
util/– Utility classesPasswordUtil.javaValidatorUtil.java
resources/fxml/– JavaFX UI layout filesLogin.fxmlDashboard.fxmlAddAppointment.fxml- ...
styles/main.css– Styling for JavaFX components
images/– Additional images used in UI
target/(Generated after Maven build - ignored by Git)classes/– Compiled.classfiles and copied resources- Mirrors structure of
src/main/javaandsrc/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