L o a d i n g
Back to Portfolio Entertainment & Booking

6Meem — Laser Tag Booking & Venue Platform

A bilingual (English/Arabic) Django platform for a laser-tag entertainment venue — session booking, encrypted online payments, and live sync with the venue's third-party game system, alongside a full custom admin back office.

Django 6.0 PyCryptodome (AES) Neoleap Gateway iCombat API qrcode / xhtml2pdf

EN / AR

Bilingual, RTL-Ready

AES-CBC

Encrypted Payments

Live Sync

Third-Party iCombat API

QR-Coded

PDF Invoices
Walkthrough

Player Site & Admin Back Office

Key Features

What The Platform Does

Session Booking Engine

Recurring session templates mapped to dated, capacity-tracked occurrences.

Encrypted Online Payments

AES-CBC encrypted checkout via the Neoleap hosted payment gateway.

Live Facility API Sync

Accounts, bookings, scores and achievements synced with the iCombat game system.

QR-Coded E-Invoices

PDF/HTML invoices with an embedded QR code for check-in scanning.

Bilingual Front End

Parallel English and Arabic (RTL) template trees with session-based locale.

Admin Back Office

Revenue/booking KPIs, refund approvals, and CSV player export.

Technology

Stack & Integrations

Frontend
Django Templates (EN + AR RTL) Bootstrap jQuery
Backend
Python Django 6.0
Database
SQLite
Integrations
iCombat API Neoleap Payment Gateway Resend WhatsApp
Architecture

How It's Built

6Meem is a single Django app that renders separate English and Arabic (RTL) template trees via a session-based language switch, while a local Reservations model caches bookings placed through the venue's external iCombat facility API — decoupling the app's own session/capacity logic from the system that actually owns player accounts and scores. Payments route through Neoleap's hosted page with AES-CBC encryption/decryption implemented by hand for the request and callback payloads.

Singleton-pattern CMS models (pinned to a single row) keep editable content like the disclaimer, policies and ticket pricing simple to manage from the admin, while a data migration path from a prior PHP/Laravel + MySQL system — legacy exports and an import_users command — shows this was a real rebuild, not a greenfield toy.