Jackpot
Jackpot – The Fortune Store
FULL SOURCE Website · Admin panel · REST API · Flutter app

The Fortune Store -Ecommerce & Prize Draw Platform

A shop-and-win platform where members purchase branded merchandise to earn prize draw entries, with campaigns, winner selection, and multi-country shopping across the UAE, India, and Saudi Arabia.

yourstore.com/admin
Admin dashboard
Mobile app home
● Ticket issued
#10423
Order LD100231
Winners drawn at random
PARTS
4parts
Website Admin API App
MODULES
12modules
in the admin panel
CURRENCIES
AED
SAR
INR
UAESaudi ArabiaIndia
prices and prizes per country
LANGUAGES
English
العربية
campaign text in both
ONE PACKAGE
Everything ships together.
Website
Admin panel
REST API
Flutter app
Website
Campaigns
Live draws
Wallets
Reports
Campaigns
UAE · AED
Saudi · SAR
India · INR
English + Arabic
UAE · AED
What you get

Four parts, one codebase, one server.

One ASP.NET Core app serves the website, the admin panel and the REST API. The Flutter app talks to the API. The business rules live in shared application services, so the app and the admin panel always behave the same way.

ONE SERVER
ASP.NET Core
shared application services
SQL Server Stripe SMTP
Live demoProduct tour
/

Website

Public product page with Live demo and Product tour buttons, privacy policy and user agreement.

Built with Static HTML and CSS
/admin

Admin panel

Back office for staff: campaigns, draws, members, orders, reports and settings.

Built with ASP.NET Core MVC
GET /api/v1/campaigns
200 OK · application/json
{ "id": 12, "status": "running",
  "currency": "AED" }
/api/v1

REST API

Everything the mobile app does, as JSON with JWT sign‑in. Documented with OpenAPI.

Built with ASP.NET Core minimal APIs
Android · iOS

Mobile app

The members’ shop: campaigns, cart, checkout, tickets, wallet and account.

Built with Flutter
How the business works

Every product sold is a ticket in a prize draw.

From the first campaign to the winner announcement, the whole cycle runs inside the platform.

ADMIT ONE
Create a campaign
Link a product to one or more prizes, with a ticket limit and a draw date.
STEP 01 / 05
ADMIT ONE
Members shop
Each country sees its own prices, currency and prizes.
STEP 02 / 05
ADMIT ONE
Tickets are issued
One ticket per unit bought, numbered the moment the order is paid.
STEP 03 / 05
ADMIT ONE
Draw the winners
When it sells out or the date arrives, staff draw winners at random.
STEP 04 / 05
ADMIT ONE
Announce
Winners appear in the app and members get a notification.
STEP 05 / 05
Admin panel

Everything staff need to run the store.

01 / 10
yourstore.com/admin
Dashboard
01 / 10
Dashboard
Totals for members, campaigns, orders and tickets, a 12‑month ticket chart, revenue per currency and the latest winners.
JACKPOT
Member app · Flutter

The members' shop, on Android and iOS.

Choose a country, browse running and closing‑soon campaigns, fill a cart as a guest, then sign in and pay by card or wallet. Tickets, wallet history and notifications are all in the app.

Rules that protect the business

Built for busy draw days.

When a popular campaign is close to selling out, many members buy at the same moment. The checkout is designed so that money, tickets and stock always add up.

DRAW DAY · LIVE Win a PlayStation 5 Pro
0 / 250 tickets
SELLING
BUYERS / SEC
0
OVERSOLD
0
AUTO‑REFUNDED
0
✓rule enforced:One‑transaction checkout
CHECKING
One‑transaction checkout
Either the whole order is saved, or nothing is.
ENFORCED
No overselling
Tickets are reserved atomically, even when many members buy at once.
ENFORCED
Unique numbers
Order numbers (LD100001…) and ticket numbers (from 10001) come from database sequences.
ENFORCED
Safe wallet balances
A wallet payment must be covered, and a balance can never go below zero.
ENFORCED
Verified card payments
Amount, currency, owner and purpose are checked with Stripe on the server, and each payment is used once.
ENFORCED
Automatic refunds
If tickets run out between payment and order, the card payment is refunded automatically.
Technology

A clean, modern stack your team can own.

Hand‑written SQL with Dapper, JWT for the app, cookie sign‑in for staff, OpenAPI docs at /scalar. Host on IIS, Nginx or Docker.

SYSTEM ARCHITECTURE
Architecture: mobile app, website and admin panel connect to one ASP.NET Core app with SQL Server, Stripe and SMTP
JWT
Stripe
OpenAPI
SMTP
xUnit
Playwright
IIS · Nginx · Docker
.NET 10
ASP.NET Core
SQL Server
Dapper
Flutter
Jackpot
AI‑ready codebase

Modify the project with your AI coding agent.

The project can be modified with Claude, Codex and Antigravity. Open the source, describe the change in plain words, and let the agent work across the website, admin panel, API and Flutter app.

~/jackpot Claude
›
Reading src/Application/Campaigns …
✓ Updated admin panel
✓ Updated REST API
✓ Updated Flutter app
✓ Tests passed
ADMIT ONE FULL SOURCE CODE

Launch your own prize‑draw store.

Get the full source code for the website, admin panel, REST API and Flutter app, with documentation and demo data.

TICKET No.
10423
Order LD100231