mirror of
https://gitea.gofwd.group/Forward_Group/ballistic-builder-spring.git
synced 2026-01-20 08:41:04 -05:00
Update README.md
This commit is contained in:
132
README.md
132
README.md
@@ -1,67 +1,67 @@
|
|||||||
# Ballistic Builder ( The Armory?) Backend
|
# Ballistic Builder ( The Armory?) Backend
|
||||||
### Internal Engine for the Shadow System Armory?
|
### Internal Engine for the Shadow System Armory?
|
||||||
|
|
||||||
The Ballistic Backend is the operational backbone behind the Shadown System Armory and its admin tools. It ingests merchant feeds, normalizes product data, manages categories, synchronizes prices, and powers the compatibility, pricing, and product logic behind the consumer-facing Builder.
|
The Ballistic Backend is the operational backbone behind Battl Builder and its admin tools. It ingests merchant feeds, normalizes product data, manages categories, synchronizes prices, and powers the compatibility, pricing, and product logic behind the consumer-facing Builder.
|
||||||
|
|
||||||
It’s built for reliability, longevity, and clean extensibility — the kind of foundation you want when scaling from a small beta to a fully public platform.
|
It’s built for reliability, longevity, and clean extensibility — the kind of foundation you want when scaling from a small beta to a fully public platform.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## What This Backend Does
|
## What This Backend Does
|
||||||
|
|
||||||
### **Merchant Feed Ingestion**
|
### **Merchant Feed Ingestion**
|
||||||
- Pulls AvantLink feeds (CSV or TSV)
|
- Pulls AvantLink feeds (CSV or TSV)
|
||||||
- Automatically detects delimiters
|
- Automatically detects delimiters
|
||||||
- Normalizes raw merchant fields
|
- Normalizes raw merchant fields
|
||||||
- Creates or updates product records
|
- Creates or updates product records
|
||||||
- Upserts price and stock offers
|
- Upserts price and stock offers
|
||||||
- Tracks first-seen / last-seen timestamps
|
- Tracks first-seen / last-seen timestamps
|
||||||
- Safely handles malformed or incomplete rows
|
- Safely handles malformed or incomplete rows
|
||||||
- Ensures repeat imports never duplicate offers
|
- Ensures repeat imports never duplicate offers
|
||||||
|
|
||||||
### **Category Mapping Engine**
|
### **Category Mapping Engine**
|
||||||
- Identifies every unique raw category coming from each merchant feed
|
- Identifies every unique raw category coming from each merchant feed
|
||||||
- Exposes *unmapped* categories in the admin UI
|
- Exposes *unmapped* categories in the admin UI
|
||||||
- Allows you to assign:
|
- Allows you to assign:
|
||||||
- Part Role
|
- Part Role
|
||||||
- Product Configuration (Stripped, Complete, Kit, etc.)
|
- Product Configuration (Stripped, Complete, Kit, etc.)
|
||||||
- Applies mappings automatically on future imports
|
- Applies mappings automatically on future imports
|
||||||
- Respects manual overrides such as `platform_locked`
|
- Respects manual overrides such as `platform_locked`
|
||||||
|
|
||||||
### **Builder Support**
|
### **Builder Support**
|
||||||
The frontend Builder depends on this backend for:
|
The frontend Builder depends on this backend for:
|
||||||
|
|
||||||
- Loading parts grouped by role
|
- Loading parts grouped by role
|
||||||
- Offering compatible options
|
- Offering compatible options
|
||||||
- Calculating build cost
|
- Calculating build cost
|
||||||
- Comparing offers across merchants
|
- Comparing offers across merchants
|
||||||
- Providing product metadata, imagery, and offer data
|
- Providing product metadata, imagery, and offer data
|
||||||
|
|
||||||
**Future expansions include:** price history, compatibility engine, build exports, public build pages, multi-merchant aggregation, and automated anomaly detection.
|
**Future expansions include:** price history, compatibility engine, build exports, public build pages, multi-merchant aggregation, and automated anomaly detection.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
- **Spring Boot 3.x**
|
- **Spring Boot 3.x**
|
||||||
- **Java 17**
|
- **Java 17**
|
||||||
- **PostgreSQL**
|
- **PostgreSQL**
|
||||||
- **Hibernate (JPA)**
|
- **Hibernate (JPA)**
|
||||||
- **HikariCP**
|
- **HikariCP**
|
||||||
- **Apache Commons CSV**
|
- **Apache Commons CSV**
|
||||||
- **Maven**
|
- **Maven**
|
||||||
- **REST API**
|
- **REST API**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Local Development
|
## Local Development
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
- Java 17 or newer
|
- Java 17 or newer
|
||||||
- PostgreSQL running locally
|
- PostgreSQL running locally
|
||||||
- Port 8080 open (default backend port)
|
- Port 8080 open (default backend port)
|
||||||
|
|
||||||
### Run Development Server
|
### Run Development Server
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./mvnw spring-boot:run
|
./mvnw spring-boot:run
|
||||||
Reference in New Issue
Block a user