System Architecture : Belajarbina.online

System Architecture & Access Control

Designed Belajarbina as a sales site → controlled LMS environment where access is granted through purchase status and routed into the correct learning environment to ensure predictable behavior and low-maintenance operations.

Goal Convert buyers into eligible learners with controlled access (no completed order = no access)
Constraint Tiered access + time/module restrictions + caching behavior risk in a single LMS environment
Focus Architecture separation, access gate rules, lifecycle clarity, long-term maintainability

1) System Architecture

How the sales site and learning environments are structured to avoid runtime complexity.

Belajarbina system architecture diagram
High-level structure: Sales site (WooCommerce) → eligibility gate → tier-based LMS environments.
  • Separated concerns: Sales & payments live on the main domain; learning delivery lives on LMS subdomains
  • WooCommerce order status is the source of truth for access eligibility
  • Tier-based routing reduces conditional logic and improves predictability under caching
  • Architecture designed for low intervention (no constant backend reconfiguration)

2) Access Control Logic

The rule set that determines who gets access, when, and where.

Eligibility Gate
  • User purchases an entry pass on the main site
  • Access becomes valid only when order is Completed
  • Completed status prevents unauthorized access and reduces edge cases
Tier Routing
  • Basic tier routed to base.belajarbina.online
  • Higher tier routed to lms.belajarbina.online
  • Separation reduces “conditional access” conflicts in a single environment
Session Behavior
  • Access checks remain consistent across sessions
  • Less reliance on fragile per-page conditional rendering
  • Improves reliability when caching is present
Belajarbina access logic / eligibility flow
Access is gated by purchase completion and routed by tier to reduce runtime complexity.

3) User Lifecycle Flow

Lifecycle framing: how users move through purchase → learning → expiry/upgrade.

Belajarbina user lifecycle diagram
Visitor → Buyer → Eligible learner → Active learner → Expired / renew / upgrade (based on access type).

Outcome (Qualitative)

The work prioritized predictable access behavior and maintainability over complex conditional rules.

  • Predictable access behavior: fewer edge cases caused by tier/time/module restrictions
  • Reduced runtime complexity: separation lowered dependence on conditional rendering inside one LMS instance
  • Lower maintenance: architecture minimizes repeated backend configuration work
Resulting system behavior

The platform runs as a stable sales → learning pipeline, where eligibility is clearly gated and tier complexity is handled structurally (separation), not through endless conditional rules.