ClassiCore is an enterprise-ready tool that intelligently classifies product/service descriptions into accurate UNSPSC codes using advanced semantic search and AI inference.
- System Architecture
- Tech Stack
- Deployment Prerequisites
- Step-by-Step Deployment on AWS EC2 (g5 GPU)
- Running the Application
- Directory Structure
- API Contract
- Contributors
ββββββββββββββββββββββ
β React Frontend β
ββββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββββ
β Spring Boot API β
ββββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββ
β FastAPI AI Classifier β
ββββββββββ¬ββββββββββββ¬ββββββ
β β
ββββββββββββββββ βββββββββββββββββ
βΌ βΌ
SQLite (UNSPSC Data) SentenceTransformer (Embeddings)
| Layer | Technology |
|---|---|
| Frontend | React.js, Vite, Tailwind |
| Backend API | Spring Boot (Java) |
| AI Service | FastAPI (Python), Hugging Face Transformers |
| Model Hosting | Mistral / IBM Granite |
| Embeddings | SentenceTransformers (all-MiniLM) |
| DB | SQLite (embedded UNSPSC dataset) |
| Infra | AWS EC2 g5.xlarge (with GPU), Docker |
| Logging | Console + future plan for ELK/CloudWatch |
-
AWS EC2 g5.xlarge instance (Ubuntu 22.04)
-
Security Group:
- Port 3000 (Frontend)
- Port 8080 (Spring Boot Backend)
- Port 8000 (Python FastAPI)
-
Install Docker
-
Install NVIDIA GPU drivers:
sudo apt update && sudo apt upgrade sudo apt install nvidia-driver-525 reboot -
Install NVIDIA Container Toolkit:
sudo apt install nvidia-container-toolkit sudo systemctl restart docker
-
Test GPU with Docker:
docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
git clone https://github.com/your-org/classicore.git
cd classicoredocker compose --profile prod up --build -dThis spins up all 3 services:
frontend,backend (Spring Boot), andai-classifier (FastAPI)with GPU access enabled.
docker logs classicore-backend
docker logs classicore-classifier
docker logs classicore-frontend- Access Frontend:
http://<EC2-IP>:3000 - API (optional):
http://<EC2-IP>:8080 - AI Classifier:
http://<EC2-IP>:8000
classicore/
βββ frontend/ # React.js UI
βββ backend/ # Spring Boot API
βββ ai-classifier/ # Python FastAPI + Embeddings
βββ unspsc.sqlite # Classification DB (auto-mounted)
βββ docker-compose.yml # Multi-container setup with GPU
βββ README.md # This file
{
"product_name": "medical face mask"
}[
{
"code": "42131728",
"label": "Antifog surgical masks and tie back masks",
"confidence": 66.7,
"source": "Semantic Search"
},
...
]πJava|Spring Boot|AWS|React|Microservices|CI/CD|Semantic Search|AI Inference
π§βπ»A decade of experience scaling cloud platforms & leading global agile teams to boost performance.
π»Passionate about building intelligent systems that bridge AI and enterprise software.
