This is what you expect the dashboard to look like when you run the application for the first time.
This is a comprehensive JavaFX-based Client Management System designed to streamline business operations, including customer management, service requests, technician scheduling, quotes, and payments.
- 🔐 Secure User Authentication
- 👥 Customer Management
- 🛠️ Service Request Tracking
- 👷 Technician Management
- 💰 Quote and Payment Processing
- 📊 Reporting Capabilities
- Language: Java 11+
- UI Framework: JavaFX
- Database: SQLite
- Build Tool: Maven
- Dependencies:
- JavaFX Controls
- SQLite JDBC
- JavaMail
- iText PDF Generation
- Java Development Kit (JDK) 11 or higher
- Maven
- Git
-
Clone the repository:
git clone git@github.com:Raccoon254/java-client-management.git cd java-client-management -
Build the project:
mvn clean install
-
Run the application:
mvn javafx:run
- Username: admin
- Password: admin123
src/
├── main/
│ ├── java/com/management/
│ │ ├── App.java # Main application entry point
│ │ ├── model/ # Data models
│ │ ├── controller/ # UI controllers
│ │ ├── service/ # Business logic services
│ │ ├── dao/ # Data Access Objects
│ │ └── util/ # Utility classes
│ └── resources/
│ ├── fxml/ # UI layout files
│ └── images/ # Application icons
- Models: Represent data entities (Customer, ServiceRequest, Technician, etc.)
- Controllers: Manage UI interactions and data flow
- Services: Handle business logic
- DAO: Provide database interaction methods
- Utilities: Offer helper functions for various tasks
The application uses SQLite with an embedded database (client_management.db). Tables include:
- Users
- Customers
- Technicians
- Service Requests
- Quotes
- Payments
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow existing code style
- Write clear, concise commit messages
- Include unit tests for new features
- Update documentation as needed
- Add unit and integration tests
- Implement more robust error handling
- Create comprehensive logging
- Develop advanced reporting features
- Enhance UI/UX
Distributed under the MIT License. See LICENSE for more information.
Project Maintainer: [Steve Tom/tomsteve187@gmail.com]
- JavaFX Team
- SQLite
- Maven Community
- All contributors and supporters
Star ⭐ the project if you find it helpful!
