https://github.com/adamo08/orderprocessingsystem
An automated system for processing customer orders from JSON input, validating data, and synchronizing with a database while managing errors and outputs.
https://github.com/adamo08/orderprocessingsystem
automation data-validation database-integration error-handling file-handling java json-processing juint maven mysql order-management project-lombok threads timer-task
Last synced: 2 months ago
JSON representation
An automated system for processing customer orders from JSON input, validating data, and synchronizing with a database while managing errors and outputs.
- Host: GitHub
- URL: https://github.com/adamo08/orderprocessingsystem
- Owner: Adamo08
- Created: 2024-12-07T17:06:12.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-12-20T15:43:27.000Z (6 months ago)
- Last Synced: 2025-03-29T08:22:37.757Z (3 months ago)
- Topics: automation, data-validation, database-integration, error-handling, file-handling, java, json-processing, juint, maven, mysql, order-management, project-lombok, threads, timer-task
- Language: Java
- Homepage:
- Size: 13.5 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Order Processing System
## Project Overview
The **Order Processing System** is a Java-based application that processes orders, validates them, and stores the results into JSON files. It handles customer data, product availability, and payment information, ensuring that confirmed orders and errors are properly recorded.## Features
- Order reading and validation
- Customer, product, and payment data handling
- JSON output for confirmed and error orders
- Database integration for storing customer and order information## Technologies Used
- **Programming Language**: Java
- **Libraries**:
- Jackson (for JSON parsing and writing)
- JUnit (for unit testing)
- MySQL (for database storage)## Setup Instructions
1. **Clone the Repository**:
```sh
git clone https://github.com/Adamo08/OrderProcessingSystem.git
cd OrderProcessingSystem
```2. **Install Dependencies**:
Ensure you have Java and Maven installed.3. **Create the Database**:
- First, create a MySQL database named ```oms_db```.4. **Import the Database Schema**:
- Import the `tables.sql` file located in the `util` package to your database in phpMyAdmin. This file contains the SQL commands for creating the necessary tables and inserting testing data.- Make sure to update the `DatabaseUtil.java` file, where the database connection URL is specified. By default, it is set to port **4306**:
```java
private static final String URL = "jdbc:mysql://localhost:4306/oms_db";
```
If you are using the default MySQL port, change it to:
```java
private static final String URL = "jdbc:mysql://localhost:3306/oms_db";
```5. **Build the Project**:
Use Maven to build the project:
```sh
mvn clean install
```6. **Run the Project**:
After building the project, run it using Maven:
```sh
mvn exec:java
```## Demo Video
For a detailed walkthrough of the project, refer to the [demo video](src/main/java/com/adamo/resources/data/screenshots/demo_DL_JAVA.mp4).## Contributing
1. Fork the repository.
2. Create a new branch.
3. Make changes and commit.
4. Push your branch.
5. Open a Pull Request.## Acknowledgements
- [Jackson](https://github.com/FasterXML/jackson) for JSON processing.
- [JUnit](https://junit.org/junit5/) for unit testing.
- [MySQL](https://www.mysql.com/) for database management.