Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yasith-chathuranga/posfusion-pos-spring-api

A reliable and flexible Point of Sale (POS) system built on the strong Spring Framework, designed to easily manage customers, items, and orders.
https://github.com/yasith-chathuranga/posfusion-pos-spring-api

hibernate-jpa hibernate-validator jackson-databind jdk17 logback modelmapper postman-collection spring spring-data spring-mvc spring-mysql springframework tomcat-server

Last synced: 17 days ago
JSON representation

A reliable and flexible Point of Sale (POS) system built on the strong Spring Framework, designed to easily manage customers, items, and orders.

Awesome Lists containing this project

README

        

# POSFusion-POS-Spring-API

## Introduction
A POS RESTful API built with Spring Framework, handling Customer, Item, Order, and OrderDetail management. It supports CRUD operations and transaction management, using Hibernate for ORM and JPA for repository handling.

## Technologies Used
- **Java 17**
- **Spring Framework**
- **Hibernate ORM**
- **Spring Data JPA**
- **ModelMapper**
- **Logback**
- **MySQL**

## Features
- **Customer Management (Create, Read, Update, Delete)**
- **Item Management (Create, Read, Update, Delete)**
- **Order and Transaction Processing**
- **Exception Handling and Validation using Hibernate Validator**
- **JSON Response formatting**

## Validation

Validation is implemented using Hibernate Validator annotations in the DTO classes to ensure data integrity and correctness.

## Logging

Logging is configured using Logback. Logs are written to both the console and a file.

## Postman Documentation

For detailed API documentation and testing, please refer to the [Postman API Documentation](https://documenter.getpostman.com/view/37565373/2sAXxV6pte).

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Getting Started

### Prerequisites
To run this project, ensure you have the following installed:
- **Java Development Kit (JDK) 17 or higher**
- **Apache Tomcat (10.1.24)**
- **MySQL**
- **Maven**

### Running the Application
1. **Clone the repository:**
```bash
git clone https://github.com/yasith-chathuranga/posfusion-pos-spring-api.git

3. Update the MySQL database configuration in `WebAppRootConfig.java`:
```java
@Bean
public DataSource dataSource() {
DriverManagerDataSource dmds = new DriverManagerDataSource();
dmds.setDriverClassName("com.mysql.cj.jdbc.Driver");
dmds.setUrl("jdbc:mysql://localhost:3306/posfusion?createDatabaseIfNotExist=true");
dmds.setUsername("root");
dmds.setPassword("your_password");
return dmds;
}

##















© 2024 Yasith Chathuranga