Skip to content

esquires14/WGU-Java-Frameworks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bits & Bytes Custom PC Shop - Spring Boot E-Commerce Application A full-stack e-commerce web application for a custom PC parts and systems shop, built with Spring Boot and Thymeleaf. Features comprehensive inventory management, validation, and purchasing capabilities. πŸŽ“ Academic Context Completed as part of D287 - Java Frameworks coursework at Western Governors University (December 2025) πŸš€ Features Core Functionality

Product & Parts Management - Full CRUD operations for PC components and complete systems Inventory Tracking - Real-time inventory with minimum/maximum stock level enforcement Purchase System - "Buy Now" functionality with automatic inventory decrementing Validation System - Comprehensive validation to prevent overselling and maintain stock levels Responsive UI - Custom-styled Thymeleaf templates with Bootstrap

Inventory Management

Add, update, and delete parts (in-house and outsourced) Add, update, and delete complete PC systems Set and enforce minimum/maximum inventory thresholds Automatic validation prevents inventory from falling below minimum or exceeding maximum

Business Logic

Parts can be associated with multiple products Purchasing a product decrements product inventory only (parts remain unchanged) Success/failure messages for all transactions Error handling for invalid inventory operations

πŸ› οΈ Technologies Used Backend:

Java 11+ Spring Boot 2.x Spring Data JPA Hibernate H2 Database (development) Maven

Frontend:

Thymeleaf HTML5/CSS3 Bootstrap 4

Testing:

JUnit Spring Boot Test

πŸ“‹ Prerequisites

JDK 11 or higher Maven 3.6+ IDE (IntelliJ IDEA recommended)

βš™οΈ Installation & Setup

Clone the repository

bashgit clone https://github.com/esquires14/WGU-Java-Frameworks-PC-Shop.git cd WGU-Java-Frameworks-PC-Shop

Build the project

bashmvn clean install

Run the application

bashmvn spring-boot:run

Access the application

Main page: http://localhost:8080 About page: http://localhost:8080/about H2 Console: http://localhost:8080/h2-console (if enabled)

πŸ“¦ Sample Inventory The application comes pre-loaded with sample data: Parts (5):

CPU, GPU, RAM, Storage, Power Supply Each with configurable min/max inventory levels

Products (5):

Complete PC systems (Gaming, Workstation, Budget, etc.) Associated parts for each build

πŸ§ͺ Testing Run unit tests: bashmvn test


## πŸ“ Project Structure

src/ β”œβ”€β”€ main/ β”‚ β”œβ”€β”€ java/ β”‚ β”‚ └── com/example/demo/ β”‚ β”‚ β”œβ”€β”€ bootstrap/ # Data initialization β”‚ β”‚ β”œβ”€β”€ controllers/ # Spring MVC controllers β”‚ β”‚ β”œβ”€β”€ domain/ # Entity classes β”‚ β”‚ β”œβ”€β”€ repositories/ # JPA repositories β”‚ β”‚ β”œβ”€β”€ services/ # Business logic β”‚ β”‚ └── validators/ # Custom validators β”‚ └── resources/ β”‚ β”œβ”€β”€ templates/ # Thymeleaf views β”‚ └── application.properties └── test/ └── java/ # Unit tests πŸ“ License This project was completed as academic coursework. Please refer to your institution's academic integrity policy before using this code. πŸ‘€ Author Emily Squires

GitHub: @esquires14 LinkedIn: emily-squires-swe

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors