Right now the website is running on the developer’s personal PC and shared through a temporary internet link (ngrok). It is ideal for walkthroughs and feedback — not for permanent public registration or long-term storage.
For stakeholders
Demo hosting & full production path
This page explains how the system runs today for demos, and what a real live competition setup needs.
1. How the demo works today
Temporary public access while the PC is online and the demo launcher is running.
Start demo
Developer runs start_online.bat on their PC.
App on PC
Flask web app + Excel data file stay on the local machine.
Temporary URL
ngrok creates a short-lived HTTPS link (changes each session).
Client / tester
Anyone with the link can open public registration and admin.
Good for
- Feature walkthrough with stakeholders
- Trying registration & payment-slip flow
- Admin review (approve, adjust totals)
- Fast feedback before investing in hosting
Not suitable for
- Real open registration over many days
- Guaranteed uptime (PC sleep / offline = site down)
- Stable URL for posters / social media
- Multi-user production reliability (Excel file store)
2. Participant process (same in demo & production)
Business flow does not change — only where the system is hosted.
Open event
Choose an open competition project.
Enter details
Contestant & contact info.
Pick slots
Select categories / songs / ages.
Serial + total
Get reference number and fee total.
Bank-in slip
Upload proof of payment (now or later).
Admin check
Organizer reviews payment & list.
3. Full live setup (recommended for real events)
Always-on server, fixed website address, proper database file on the server.
VPS / cloud server
Small always-on Linux host runs the web app 24/7.
Domain URL
e.g. register.yourstudio.com — stable for sharing.
HTTPS (SSL)
Free certificate (Let’s Encrypt) — secure browser lock icon.
SQLite (or Postgres)
Replace Excel with a real database for safer multi-user use.
Backups + go-live
Automated backups, open registration to the public.
4. What you need for full setup
| Item | Why | Rough cost (MYR / USD guide) |
|---|---|---|
| VPS (small cloud server) | Hosts the website 24/7; not tied to one PC | ~RM 20–50 / mo (~USD 5–12) |
| Domain name | Stable public URL for marketing & WhatsApp | ~RM 40–70 / year (~USD 10–15) |
| SSL certificate | HTTPS security | Free (Let’s Encrypt) |
| SQLite (default production DB) | Reliable storage on the server; simple backups | Free (included on VPS) |
| Server backups / snapshots | Recover if data or host fails | ~RM 0–20 / mo (often included or cheap add-on) |
| Email sending (optional but useful) | Serial number / payment confirmation emails | Free tier often enough; paid ~USD 0–20 / mo if volume grows |
| One-time setup / migration | Deploy app, domain DNS, SQLite migration, smoke test | Project fee / hours (agreed separately) |
| Ongoing maintenance (optional retainer) | Updates, bugfixes, new season setup help | As agreed (or ad-hoc hours) |
Typical ongoing cash cost for a small event site: about RM 25–70 / month (VPS + buffer) plus domain once a year. Email and advanced monitoring are optional extras. Estimates vary by provider and country; confirm current prices at go-live time.
5. Demo vs full setup (side by side)
| Demo (now) | Full setup | |
|---|---|---|
| Where it runs | Developer’s PC | VPS / cloud server |
| Public address | Temporary ngrok URL | Your own domain |
| Data storage | Excel workbook on PC | SQLite (or PostgreSQL later) |
| Uptime | Only while demo is started | 24/7 (server stays on) |
| Who can register | People with the shared link | Anyone with the public domain |
| Monthly cost | ≈ RM 0 (uses existing PC + free ngrok) | VPS + optional services (see table above) |
6. Suggested path from demo → live
- Finish demo feedback — confirm registration fields, pricing rules, admin reports.
- Agree hosting & domain — pick VPS size, buy/point domain name.
- Migrate storage — Excel → SQLite; keep the same screens and flows.
- Deploy + HTTPS — app live on the domain with SSL.
- Backups & admin training — snapshot schedule; organizer walkthrough.
- Soft open then open registration — small test group, then public.
7. Other things to decide later (optional)
- Email confirmations — auto-send serial number and payment status.
- Capacity / slot reports — how many left per category.
- Multi-organizer permissions — if several studios share one system.
- PostgreSQL — only if traffic or multi-server needs grow past SQLite.
- Online payment gateway — currently bank-in + slip upload; card/FPX is a separate project if wanted.
- Branding — logo, colours, studio name on public pages.
8. Environments (100 / 200 / 300)
The app already separates data like SAP “clients”. Paths stay the same when you move to a real domain.
| Client | Name | URL path | Use for |
|---|---|---|---|
| 100 | Sandbox | /100/ |
Demos & experiments (sample data lives here) |
| 200 | Test | /200/ |
UAT before go-live |
| 300 | Live | /300/ |
Real registration (default for production) |
Start at the environment landing page. Data, serial numbers, and payment slips never mix across clients.
You are viewing a working product demo hosted temporarily on a PC. Moving to a real competition means a small always-on server, a proper URL, SQLite (or better) storage, backups, and light monthly hosting cost — not rebuilding the registration process from scratch. Use client 300 (Live) on that server for real events; keep 100 for demos.