A comprehensive vehicle service management solution for automotive repair shops
Features β’ Screenshots β’ Tech Stack β’ Installation β’ Usage β’ Architecture
CarCare is a modern, full-featured desktop application designed to streamline operations for vehicle service centers. Built with Java Swing and enhanced with contemporary UI components, it provides an intuitive interface for managing customers, orders, jobs, employees, inventory, and suppliers.
Whether you're running a small garage or a large automotive service center, CarCare helps you:
- π Track service orders from intake to completion
- π₯ Manage customer relationships and vehicle history
- π· Assign and monitor jobs for technicians
- π¦ Keep inventory levels optimized
- π§ Send automated email notifications
- π Generate insightful reports
| Module | Description |
|---|---|
| Dashboard | Real-time statistics, quick actions, and system overview |
| Order Management | Create, track, and manage service orders with status workflow |
| Customer Management | Customer profiles, contact info, and vehicle service history |
| Employee Management | Staff records, job assignments, and workload tracking |
| Job Management | Task assignment, progress tracking, and completion notifications |
| Inventory Management | Stock levels, low-stock alerts, and supplier integration |
| Supplier Management | Vendor information and contact management |
| Reports | Visual charts, PDF/Excel exports, and analytics |
- FlatLaf - Modern, flat look and feel
- Responsive layouts with MigLayout
- Toast notifications for user feedback
- Search & filtering on all data tables
- Statistics cards with real-time data
- Dark/Light theme support
- Role-based access control (Admin, Manager, Employee, Receptionist)
- BCrypt password hashing
- Secure session management
- Automated email notifications
- Order confirmations
- Status updates
- Job assignments
- Vehicle ready for pickup
- HTML email templates
- Async email sending
- Interactive charts with JFreeChart
- PDF export with iText
- Excel export with Apache POI
- Daily/Monthly summaries
Coming soon - Screenshots of the application interface
| Technology | Purpose |
|---|---|
| Java 21 | Core programming language |
| JDBC | Database connectivity |
| HikariCP | High-performance connection pooling |
| BCrypt | Password encryption |
| Jakarta Mail | Email functionality |
| SLF4J + Logback | Logging framework |
| Technology | Purpose |
|---|---|
| Java Swing | GUI framework |
| FlatLaf 3.4 | Modern look and feel |
| MigLayout | Flexible layout manager |
| JFreeChart | Charts and graphs |
| Technology | Purpose |
|---|---|
| MySQL 8.0 | Relational database |
| Technology | Purpose |
|---|---|
| Maven | Build automation |
| iText PDF | PDF generation |
| Apache POI | Excel export |
-
Clone the repository
git clone https://github.com/W1CKMAN/OOP-Project.git cd OOP-Project -
Create the database
mysql -u root -p < src/main/resources/database_schema.sql -
Configure the application
Edit
src/main/resources/config.properties:# Database Configuration db.url=jdbc:mysql://localhost:3306/oop-chaos db.username=root db.password=your_password # Email Configuration (Gmail example) mail.smtp.host=smtp.gmail.com mail.smtp.port=587 mail.from.email=your-email@gmail.com mail.from.password=your-app-password
-
Build the project
mvn clean install
-
Run the application
mvn exec:java -Dexec.mainClass="Main.Main"
After initial setup, use these credentials:
- Username:
admin - Password:
admin123
β οΈ Important: Change the default password after first login!
- Add Employees - Set up your technicians and staff
- Add Suppliers - Register your parts suppliers
- Add Inventory - Stock your inventory items
- Register Customers - Add customer information
- Create Orders - Start accepting service orders
- Assign Jobs - Delegate work to employees
- Track Progress - Monitor job status and completion
src/main/java/
βββ Config/ # Configuration management
β βββ ConfigManager.java
βββ Controllers/ # MVC Controllers
β βββ CarCareDashboardController.java
β βββ EmployeeController.java
β βββ ...
βββ DAO/ # Data Access Objects
β βββ GenericDAO.java
β βββ CustomerDAO.java
β βββ Impl/
β β βββ CustomerDAOImpl.java
β β βββ ...
β βββ ...
βββ DatabaseConnection/ # Database utilities
β βββ ConnectionPool.java
β βββ ...
βββ Models/ # Entity classes
β βββ Customer.java
β βββ Employee.java
β βββ Order.java
β βββ ...
βββ Services/ # Business logic
β βββ AuthService.java
β βββ CustomerService.java
β βββ EmailService.java
βββ Utils/ # Utility classes
β βββ ValidationUtil.java
β βββ ToastNotification.java
β βββ ...
βββ Views/ # Swing UI components
β βββ CarCareDashboard.java
β βββ CustomerView.java
β βββ ...
βββ Main/
βββ Main.java # Application entry point
- MVC (Model-View-Controller)
- DAO (Data Access Object)
- Singleton (ConfigManager, ConnectionPool)
- Service Layer (Business logic separation)
- Repository Pattern (Data abstraction)
OOP-Project/
βββ π src/
β βββ π main/
β βββ π java/ # Source code
β βββ π resources/ # Configuration files
β βββ config.properties
β βββ database_schema.sql
βββ π target/ # Build output
βββ π pom.xml # Maven configuration
βββ π README.md
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Java naming conventions
- Write meaningful commit messages
- Add comments for complex logic
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Helitha Guruge (@iamhelitha)
Thanks to all the amazing people who contributed to this project:
![]() Helitha Guruge π» Lead Developer |
![]() SA23098350 π» |
![]() Ravidesilva89 π» |
![]() Nipun Fernando π» |
![]() W1CKMAN π» |
![]() Nihidunimthaka π» |
![]() dulan8 π» |
![]() senuja2003 π» |
- FlatLaf - Modern Swing look and feel
- MigLayout - Flexible layout manager
- JFreeChart - Chart library
- HikariCP - JDBC connection pool
Made with β€οΈ for the automotive service industry
β Star this repo if you find it helpful!







