Loading repository data…
Loading repository data…
AaryanK47 / repository
A full-stack Spring Boot Self-Checkout System featuring offline camera barcode scanning, shopping cart management, payment processing, and printable receipts.
The Self Checkout System is a full-stack retail application developed using Spring Boot, Thymeleaf, MySQL, and Bootstrap.
It recreates a real supermarket self-checkout experience where customers can:
This project demonstrates practical implementation of:
| Category | Technology |
|---|---|
| Language | Java 17 |
| Backend | Spring Boot |
| Frontend | Thymeleaf |
| Database | MySQL |
| ORM | Spring Data JPA |
| Frontend Technologies | HTML, CSS, JavaScript |
| Styling | Bootstrap 5 |
| Build Tool | Maven |
| Barcode Scanner | html5-qrcode |
| IDE | IntelliJ IDEA |
SelfCheckoutSystem
│
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com.selfcheckout
│ │ │ ├── config
│ │ │ ├── controller
│ │ │ ├── entity
│ │ │ ├── model
│ │ │ ├── repository
│ │ │ └── service
│ │ │
│ │ └── resources
│ │ ├── static
│ │ │ ├── css
│ │ │ ├── js
│ │ │ └── audio
│ │ │
│ │ └── templates
│ │ ├── checkout.html
│ │ └── receipt.html
│ │
├── images
├── pom.xml
└── README.md
git clone https://github.com/AaryanK47/self-checkout-system.git
Import the project as a Maven Project.
CREATE DATABASE self_checkout_db;
Open
src/main/resources/application.properties
Update your MySQL credentials:
spring.datasource.url=jdbc:mysql://localhost:3306/self_checkout_db
spring.datasource.username=root
spring.datasource.password=WRITE_YOUR_PASSWORD_HERE
spring.jpa.hibernate.ddl-auto=update
Replace
WRITE_YOUR_PASSWORD_HERE
with your local MySQL password.
mvn clean install
Using Maven
mvn spring-boot:run
OR simply run
SelfCheckoutSystemApplication.java
from IntelliJ IDEA.
http://localhost:8080
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/scan/{barcode} | Scan Product |
| Method | Endpoint |
|---|---|
| POST | /api/cart/add/{id} |
| GET | /api/cart |
| PUT | /api/cart/increase/{id} |
| PUT | /api/cart/decrease/{id} |
| DELETE | /api/cart/remove/{id} |
| Method | Endpoint |
|---|---|
| POST | /api/payment/checkout |
| Method | Endpoint |
|---|---|
| GET | /receipt/{transactionId} |
This project was built through collaborative development using GitHub.
| Contributor | Role |
|---|---|
| Aaryan Kumar | Project Owner • Backend Development • Database Design • Spring Boot Architecture • REST APIs • Shopping Cart • Checkout Workflow • Documentation |
| Ankith | UI Enhancements • Dark Mode • Voice Search • Smart Recommendations • Frequently Bought Together • Toast Notifications |
Some features planned for future releases:
This project demonstrates practical experience with:
Through this project I gained hands-on experience in:
This project was developed to simulate a real-world supermarket self-checkout kiosk.
Instead of creating a basic CRUD application, the focus was on implementing practical retail features such as:
The project follows a clean MVC architecture and demonstrates full-stack Java web development using Spring Boot.
🎓 Computer Science Student
💻 Passionate about Java, Spring Boot, Full Stack Development & Problem Solving.
If you found this project useful, consider giving it a ⭐ Star on GitHub.
It helps support the project and motivates future improvements.
Made with ❤️ using Spring Boot, Thymeleaf, MySQL, and Bootstrap