How huuzinhh/ocop-platform works
OCOP is a marketplace and producer-promotion platform: customers discover products, add them to a cart, place and mock-pay for orders, then producers/admins manage offerings and fulfillment. Separate capabilities cover authentication, producer analytics and verification, GIS discovery, and batch/event traceability. The README describes blockchain-backed hashes and AI/RAG guidance, but no blockchain or chatbot implementation appears in the supplied tree; those remain documented capabilities rather than evidenced runtime links. Arrows cite shown calls or explicit README claims; uninspected controller/service links are left out where unsupported.
Main entry points: App.jsx Web workspace · TraceService.java Batch and event trace · AuthService.java Accounts and roles · OrderService.java Order and mock payment
Components 30
Web application
- Web workspace
frontend/src/App.jsx - Auth state
frontend/src/context/AuthContext.jsx - Cart state
frontend/src/context/CartContext.jsx - HTTP client
frontend/src/api/axiosClient.js - Auth API
frontend/src/api/authApi.js - Catalog API
frontend/src/api/ocopApi.js - Trace API
frontend/src/api/traceApi.js
Identity and operations
- Authentication endpoints
backend/src/main/java/com/ocop/controller/AuthController.java - Accounts and roles
backend/src/main/java/com/ocop/service/AuthService.java - Account store
backend/src/main/java/com/ocop/repository/UserRepository.java - OCOP certification review
backend/src/main/java/com/ocop/service/OcopCertificateService.java - Sales dashboards
backend/src/main/java/com/ocop/service/StatsService.java
Marketplace
- Catalog endpoints
backend/src/main/java/com/ocop/controller/ProductController.java - Catalog management
backend/src/main/java/com/ocop/service/ProductService.java - Product store
backend/src/main/java/com/ocop/repository/ProductRepository.java - Order endpoints
backend/src/main/java/com/ocop/controller/OrderController.java - Order and mock payment
backend/src/main/java/com/ocop/service/OrderService.java - Order data
backend/src/main/java/com/ocop/repository/OrderRepository.java - Cart endpoints
backend/src/main/java/com/ocop/controller/CartController.java - Cart management
backend/src/main/java/com/ocop/service/CartService.java
Regional trust
- GIS discovery
backend/src/main/java/com/ocop/service/GisService.java - Trace endpoints
backend/src/main/java/com/ocop/controller/TraceController.java - Batch and event trace
backend/src/main/java/com/ocop/service/TraceService.java - Production batches
backend/src/main/java/com/ocop/repository/ProductionBatchRepository.java - Production events
backend/src/main/java/com/ocop/repository/ProductionEventRepository.java - AI / RAG recommendations
- Blockchain hash ledger
Other components
- Customer / producer / admin
- PostgreSQL
- QR code service
Connections 32
- Customer / producer / admin → Web workspace: uses
README.md - Web workspace → Auth state: reads identity
frontend/src/App.jsx - Web workspace → Cart state: uses cart
frontend/src/App.jsx - Auth state → Auth API: calls
frontend/src/context/AuthContext.jsx - Auth API → HTTP client: sends requests
frontend/src/api/authApi.js - Web workspace → Catalog API: uses
frontend/src/App.jsx - Web workspace → Trace API: uses
frontend/src/App.jsx - Cart state → Customer / producer / admin: supports shopping
frontend/src/context/CartContext.jsx - Customer / producer / admin → Authentication endpoints: submits auth
- Authentication endpoints → Accounts and roles: delegates
- Accounts and roles → Account store: reads / saves users
backend/src/main/java/com/ocop/service/AuthService.java - Accounts and roles → PostgreSQL: persists accounts
- Customer / producer / admin → Catalog endpoints: browses catalog
- Catalog endpoints → Catalog management: delegates
backend/src/main/java/com/ocop/controller/ProductController.java - Catalog management → Product store: searches / manages
backend/src/main/java/com/ocop/service/ProductService.java - Product store → PostgreSQL: queries products
- Customer / producer / admin → Cart endpoints: manages cart
- Cart endpoints → Cart management: delegates
backend/src/main/java/com/ocop/controller/CartController.java - Customer / producer / admin → Order endpoints: places order
README.md - Order endpoints → Order and mock payment: delegates
backend/src/main/java/com/ocop/controller/OrderController.java - Order and mock payment → Order data: reads / saves
backend/src/main/java/com/ocop/service/OrderService.java - Order and mock payment → PostgreSQL: stores payment and shipment
- Customer / producer / admin → GIS discovery: explores regions
README.md - Customer / producer / admin → Trace endpoints: scans / requests trace
README.md - Trace endpoints → Batch and event trace: delegates
backend/src/main/java/com/ocop/controller/TraceController.java - Batch and event trace → Production batches: creates / looks up batches
backend/src/main/java/com/ocop/service/TraceService.java - Batch and event trace → Production events: records events
backend/src/main/java/com/ocop/service/TraceService.java - Batch and event trace → QR code service: builds QR URL
backend/src/main/java/com/ocop/service/TraceService.java - Customer / producer / admin → OCOP certification review: reviews certificates
- Customer / producer / admin → Sales dashboards: views sales metrics
- Customer / producer / admin → AI / RAG recommendations: gets recommendations / guidance
README.md - Customer / producer / admin → Blockchain hash ledger: verifies batch hashes
README.md