How sengchhunyeang/topupgame works
ELLASTORE is a Flask game top-up storefront with a browser-based purchase flow and an admin panel for order and subscriber operations. A customer selects a game and product, enters player details, optionally applies a coupon, and submits an order; the server validates inputs and calculates the price before saving a pending-payment order. The README documents the broader UI and admin capabilities; source excerpts confirm key API and service calls. Payment processing is not connected, and player lookup is a demo mock.
Main entry points: api.py JSON API · views.py Admin Pages · topup.js Top-up Flow · orders.py Order Service
Components 23
Storefront
- Flask App
ellastore/__init__.py - Store Pages
ellastore/routes/pages.py - Store Templates
ellastore/templates - Frontend Entry
ellastore/static/js/main.js - Home Interactions
ellastore/static/js/pages/home.js - Top-up Flow
ellastore/static/js/pages/topup.js - Product And Payment Selection
ellastore/static/js/components/choice-group.js - Player Check UI
ellastore/static/js/components/player-check.js - Coupon UI
ellastore/static/js/components/coupon-field.js - Browser API Client
ellastore/static/js/lib/api.js - Site Content
ellastore/content.py
Purchase API
- JSON API
ellastore/routes/api.py - Player Validation
ellastore/services/players.py - Coupon Service
ellastore/services/coupons.py - Order Service
ellastore/services/orders.py - Subscriber Service
ellastore/services/subscribers.py
Admin Operations
- Admin Authentication
ellastore/admin/auth.py - Admin Pages
ellastore/admin/views.py - Dashboard Reports
ellastore/services/reports.py - Admin Templates
ellastore/templates/admin
Catalog And Data
- Game Catalog
ellastore/catalog.py - SQLite Database
ellastore/db.py
Other components
- Customer
Connections 32
- Customer → Store Pages: browses
README.md - Store Pages → Game Catalog: loads games
ellastore/routes/pages.py - Store Pages → Site Content: loads copy
ellastore/routes/pages.py - Store Pages → Store Templates: renders
README.md - Flask App → Store Pages: registers
ellastore/__init__.py - Flask App → JSON API: registers
ellastore/__init__.py - Frontend Entry → Home Interactions: dispatches
ellastore/static/js/main.js - Frontend Entry → Top-up Flow: dispatches
ellastore/static/js/main.js - Customer → Top-up Flow: enters details
README.md - Top-up Flow → Product And Payment Selection: uses
ellastore/static/js/pages/topup.js - Top-up Flow → Player Check UI: uses
ellastore/static/js/pages/topup.js - Top-up Flow → Coupon UI: uses
ellastore/static/js/pages/topup.js - Top-up Flow → Browser API Client: submits requests
ellastore/static/js/pages/topup.js - Browser API Client → JSON API: calls JSON API
README.md - JSON API → Game Catalog: reads games
ellastore/routes/api.py - JSON API → Player Validation: validates player
ellastore/routes/api.py - JSON API → Coupon Service: redeems coupon
ellastore/routes/api.py - JSON API → Order Service: creates order
ellastore/routes/api.py - JSON API → Subscriber Service: subscribes email
ellastore/routes/api.py - Order Service → Player Validation: validates and names
ellastore/services/orders.py - Order Service → Coupon Service: applies discount
ellastore/services/orders.py - Order Service → SQLite Database: writes and reads orders
ellastore/services/orders.py - Subscriber Service → SQLite Database: stores subscribers
ellastore/services/subscribers.py - Admin Pages → Admin Authentication: guards pages
ellastore/admin/views.py - Admin Pages → Order Service: manages orders
ellastore/admin/views.py - Admin Pages → Dashboard Reports: loads aggregates
ellastore/admin/views.py - Admin Pages → Subscriber Service: lists subscribers
ellastore/admin/views.py - Admin Pages → Game Catalog: lists games
ellastore/admin/views.py - Admin Pages → Admin Templates: renders
README.md - Dashboard Reports → SQLite Database: queries metrics
ellastore/services/reports.py - Dashboard Reports → Game Catalog: labels games
ellastore/services/reports.py - Dashboard Reports → Order Service: uses order statuses
ellastore/services/reports.py