How peanluthuynh/project_blockify works
Blockify is a toy-and-puzzle e-commerce platform. The main customer journey is browsing/searching products, managing a cart, checking out, and confirming payment; accounts, order tracking, wishlists, and administration are additional capabilities. The frontend uses MVC-style controllers and API services, while the backend exposes REST handlers over application services and Supabase-backed persistence. Product search and query behavior are evidenced in sampled source; some other subsystem links reflect the documented architecture and module layout, not inspected call sites.
Main entry points: components Store UI · modules REST controllers · services API services · admin Admin controllers
Components 23
Frontend experience
- Store UI
Frontend/src/shared/components - Auth controller
Frontend/src/modules/auth - Catalog controllers
Frontend/src/modules/products - Search controller
Frontend/src/modules/search/SearchController.ts - Cart controller
Frontend/src/modules/cart/CartController.ts - Checkout controller
Frontend/src/modules/order/OrderController.ts - Account controller
Frontend/src/modules/user/AccountController.ts - Admin controllers
Frontend/src/modules/admin - API services
Frontend/src/core/services - Fetch client
Frontend/src/core/api/FetchHttpClient.ts
Commerce API
- REST controllers
backend/src/modules - Product use cases
backend/src/modules/products/application - Cart service
backend/src/modules/cart/application/CartService.ts - Checkout and payments
backend/src/modules/order/application
Identity and admin
- User services
backend/src/modules/user/application - Authentication
backend/src/modules/auth/application - Admin services
backend/src/modules/admin/application
Platform infrastructure
- HTTP runtime
backend/src/infrastructure/http - Repositories
backend/src/modules - Supabase store
backend/src/config/database.ts
Other components
- Shopper
- Sepay payments
- Supabase Storage
Connections 33
- Shopper → Store UI: uses
- Store UI → Auth controller: opens auth
- Store UI → Catalog controllers: browses
- Store UI → Search controller: searches
- Store UI → Cart controller: manages cart
- Store UI → Checkout controller: checks out
- Store UI → Account controller: manages account
- Store UI → Admin controllers: administers
- Search controller → API services: queries products
- Catalog controllers → API services: requests catalog
- Cart controller → API services: updates cart
- Checkout controller → API services: places order
- Auth controller → API services: authenticates
- Account controller → API services: loads account data
- Admin controllers → Fetch client: requests admin API
- API services → Fetch client: sends requests
- Fetch client → HTTP runtime: HTTP JSON
- HTTP runtime → REST controllers: dispatches routes
- REST controllers → Product use cases: handles catalog
- REST controllers → Cart service: handles cart
- REST controllers → Checkout and payments: handles orders
- REST controllers → Authentication: handles auth
- REST controllers → User services: handles profiles
- REST controllers → Admin services: handles administration
- Product use cases → Supabase store: queries products
- Product use cases → Repositories: uses persistence
- Cart service → Repositories: uses persistence
- Checkout and payments → Repositories: uses persistence
- User services → Repositories: uses persistence
- Admin services → Repositories: uses persistence
- Repositories → Supabase store: reads and writes
- Checkout and payments → Sepay payments: payment integration
- Admin controllers → Supabase Storage: uploads product images