This is a console-based Java application for managing car maintenance tasks. It allows users to track service history, schedule maintenance, log expenses, and monitor fuel efficiency. The project is structured as a Maven project for easier dependency management and build automation.
- View, Register, Update, or Delete Records: Users can manage crop and livestock records separately for better organization.
- User Authentication: Ensures only authorized users can access or modify records.
- Service History Tracking:
- Vehicle Model
- Service Kilometers
- Service Provider
- Service Cost
- Maintenance Reminders:
- Vehicle Model
- Service Kilometers
- Service Type
- Expense Logging:
- Vehicle Model
- Expense Type
- Expense Date
- Cost
- Fuel Efficiency Reports:
- Vehicle Model
- Fuel Consumption (L/100KM)
Coverage
Branch Coverage
Line Coverage
Method Coverage
- Unit Testing: Comprehensive testing using JUnit 4 with 100% test coverage and success rate.
- Validation: Ensures all functionalities operate as expected, even with large datasets.
-
Clone the Repository:
git clone https://github.com/hikmethankolay/car-maintenance-console-app-in-java.git cd car-maintenance-console-app-in-java -
Run Setup Scripts: The following
.batfiles are provided to streamline the setup process:2-create-git-ignore.bat: Sets up.gitignorefor the project.3-install-package-manager.bat: Installs required package managers like Chocolatey and Scoop.4-install-astyle.bat: Installs AStyle for automatic code formatting.4-install-coverxygen.bat: Installs Coverxygen for parsing Doxygen XML files.4-install-lcov.bat: Installs LCOV for generating coverage reports.5-format-code.bat: Formats the codebase using AStyle.6_install_mkdocs_required_apps.bat: Sets up MkDocs and related tools for documentation.7-build-app.bat: Builds the Maven project and creates a JAR file.8-run-app.bat: Runs the application after a successful build.9-run-webpage.bat: Launches a local webpage to view the project documentation.
-
Build the Project: Execute the
7-build-app.batscript:7-build-app.bat
-
Run the Application: Use the
8-run-app.batfile to execute the application:8-run-app.bat
-
Run Tests: Execute tests using:
test.bat
-
View Documentation: Launch the project webpage with
9-run-webpage.bat:9-run-webpage.bat
- Code Coverage:
- Use
lcovto generate coverage reports. - Example command:
lcov --capture --directory . --output-file coverage.info genhtml coverage.info --output-directory coverage-report
- Use
- HTML Coverage Reports:
- Generated using
ReportGenerator:reportgenerator "-reports:target/site/jacoco/jacoco.xml" "-sourcedirs:src/main/java" "-targetdir:coveragereport" -reporttypes:Html
- Generated using
- Documentation Coverage:
- Generated using
coverxygenandlcov.
- Generated using
- Eclipse: Download Eclipse
- Maven: Download Apache Maven
- JDK: Ensure Java Development Kit is installed.
- LCOV: Used for generating code coverage reports.
- Coverxygen: For documentation coverage.
- MkDocs: For generating project documentation.
This project is licensed under the AGPL-3.0 License.