← Toate proiectele
Gamble Games

Tomboly - Online Gambling Website

Client: Tomboly →

Vreau un proiect asemănător

Îți revenim rapid cu o propunere pentru un proiect similar cu Tomboly - Online Gambling Website.

Tomboly
Platformă de tombole online și jocuri 1v1, construită de la zero

Punctul de plecare

Clientul opera un site WordPress încărcat cu plugin-uri de eCommerce și formulare. Fluxul arăta așa:

Administratorul crea manual pagina produsului și lista biletele ca produs în magazin.
Participanții cumpărau bilete ca pe orice comandă obișnuită.
Administratorul urmărea manual câte bilete s-au vândut, verificând comenzile.
Când considera că s-a atins pragul, oprea vânzarea manual.
Extragerea se făcea în afara platformei, cu un generator extern sau live pe rețelele sociale.
Câștigătorul era anunțat manual, iar evidența se ținea separat.

Problemele erau operaționale și de încredere:

Fiecare tombolă cerea ore de muncă manuală, indiferent de valoarea premiului
Oprirea manuală a vânzărilor permitea supravânzarea biletelor
Nu exista un istoric verificabil al extragerii, ceea ce genera suspiciuni din partea participanților
Plugin-urile suprapuse încetineau site-ul și creau riscuri de securitate la fiecare actualizare
Modelul nu suporta creșterea numărului de tombole simultane
Ce am construit

Platformă proprie, nu WordPress. Frontend React, backend PHP, bază de date relațională, procese programate pe cron pentru tot ce trebuie să ruleze fără om.

Panou de administrare. Administratorul creează produsul, setează numărul total de bilete, prețul, durata și materialele de campanie. Poate rula mai multe tombole simultan și poate porni campanii de marketing direct pe produsele active.

Motor de tombole automatizat. Sistemul numără biletele în timp real, blochează vânzarea exact la atingerea pragului și declanșează singur extragerea. Nu există intervenție manuală între lansare și desemnarea câștigătorului.

Ruletă live cu extragere ponderată. Extragerea se afișează ca ruletă animată, în timp real, pentru toți participanții conectați. Șansa fiecărui participant este proporțională cu numărul de bilete cumpărate. Rezultatul este generat pe server, nu în browser, iar animația doar îl reprezintă vizual. Fiecare extragere rămâne salvată în istoric.

Modul 1v1 coinflip. Doi jucători se pot înfrunta pe credite sau pe bani din portofelul intern. Include potrivirea jucătorilor, blocarea sumelor pe durata partidei, decontarea automată și istoricul meciurilor.

Portofel și tranzacții. Fiecare cont are sold, istoric de alimentări, cumpărări de bilete, câștiguri și retrageri, cu evidență completă pe fiecare mișcare de bani.

Procese pe cron. Închiderea tombolelor, declanșarea extragerilor, notificările, reconcilierea tranzacțiilor și curățarea sesiunilor rulează programat, fără operator.

Securitate
Toată logica de joc și de bani rulează pe server. Clientul React afișează rezultate, nu le decide.
Rezultatele extragerilor și ale meciurilor sunt generate server-side, cu sursă de randomizare criptografică.
Validare pe server pentru fiecare tranzacție, cu protecție împotriva cererilor duplicate și a cursei de execuție la cumpărarea ultimelor bilete.
Operațiunile pe sold rulează tranzacțional, ca soldul să nu poată intra în inconsistență.
Autentificare cu sesiuni securizate, roluri separate pentru utilizator și administrator, jurnal de acțiuni administrative.
Istoric complet și imutabil al extragerilor, disponibil ca dovadă pentru participanți.
Rezultatul
Ciclul complet al unei tombole rulează fără intervenție umană, de la lansare la desemnarea câștigătorului
Numărul de tombole simultane nu mai depinde de timpul administratorului
Supravânzarea biletelor a fost eliminată prin blocare automată la prag
Fiecare extragere are dovadă verificabilă în platformă
Dependența de plugin-uri terțe a dispărut, împreună cu riscurile de securitate asociate

Galerie foto

React PHP JavaScript MySQL cron jobs Stripe Payments.
Vezi proiectul live
💬Not sure about your ideas yet? Book a free meeting — it costs you nothing and you'll get valuable insights about your plans!