Traditional event guest books — whether paper or basic digital forms — fail to capture the emotion and authenticity of live moments. Event organizers (wedding planners, corporate hosts, marketing agencies) needed a way to:
No existing solution combined all four content types, a distributor business model, real-time galleries, and fraud prevention into a single platform.
DEVE Design was engaged to architect and build the platform end-to-end — from system design through deployment. We took a deliberate, architecture-first approach:
We structured the solution into six clearly separated layers — Domain, Data, Application, IoC, Presentation, and Admin — ensuring that business logic remains decoupled from infrastructure. This allowed us to evolve the database, swap cloud providers, or redesign the UI without touching core business rules.
We implemented dual DbContexts (WriteDbContext and ReadDBContext) on PostgreSQL. The read context explicitly blocks write operations, enforcing data access discipline across the 75+ services and preventing accidental mutations during query operations.
We designed a hierarchical quota system: Admin → Distributor → Client → Event. Each level has allocation tracking, request/approval workflows, and full audit trails with before/after balance snapshots. This enabled Memorecs to onboard reseller partners without custom integration work.
The biggest technical challenge was handling 200+ guests simultaneously scanning a single QR code at a live event. We implemented:
We built dedicated submission flows for each content type:
All media is stored on AWS S3 with Imageflow providing on-the-fly resizing, format conversion, and hybrid caching (1GB limit, 7-day headers).
We designed a status lifecycle for event records (Pending → Accepted/Rejected → Active → Archived/Expired) that gives event organizers full control. Distributors create event requests, clients review details, and only accepted events go live. This prevents unwanted QR activations and gives clients confidence in the system.
Built for the MENA market, the platform supports Arabic and English with route-based culture detection. Every view, error message, and validation prompt switches seamlessly between RTL and LTR layouts.
┌─────────────────────────────────────────────────────────┐
│ ADMIN PANEL (MVC) │
│ Event CRUD · Distributor Mgmt · QR Generation · Reports│
└───────────────┬─────────────────────────┬───────────────┘
│ │
┌───────────────▼─────────────────────────▼───────────────┐
│ IoC LAYER │
│ DI Registration · Middleware · Filters · Localization │
└───────────────┬─────────────────────────────────────────┘
│
┌───────────────▼─────────────────────────────────────────┐
│ APPLICATION LAYER │
│ 75+ Services · ViewModels · AutoMapper · MediatR │
└───────────────┬─────────────────────────────────────────┘
│
┌───────────────▼─────────────────────────────────────────┐
│ DATA LAYER │
│ WriteDbContext · ReadDBContext · Repositories · Specs │
└───────────────┬─────────────────────────────────────────┘
│
┌───────────────▼──────────┐ ┌───────────────────────────┐
│ DOMAIN LAYER │ │ EXTERNAL SERVICES │
│ Entities · Enums · │ │ AWS S3 · SNS · SES │
│ Interfaces │ │ PostgreSQL · Imageflow │
└──────────────────────────┘ └───────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ PRESENTATION (Public MVC) │
│ Event Pages · Submission Flows · Gallery · Profile │
│ Bilingual (ar/en) · QR Scanning · Voice/Video/Image │
└─────────────────────────────────────────────────────────┘
Guest Scans QR ──► Event Landing Page ──► Choose Type
│
┌─────────┬────────┬───────┤
▼ ▼ ▼ ▼
Voice Video Image Link
│ │ │ │
▼ ▼ ▼ ▼
Device Fingerprint Check (SHA256)
│
┌────▼─────┐
│ Duplicate?│──Yes──► Blocked
└────┬──────┘
No
▼
Reserve Slot (10-min TTL)
▼
Upload to AWS S3
▼
Mark Complete ──► Gallery Updated
| Backend | ASP.NET Core 7.0, C#, Entity Framework Core 7.0, MediatR, AutoMapper |
| Database | PostgreSQL (Npgsql), Read/Write separation, Specification pattern |
| Cloud | AWS S3, AWS SNS, AWS SES, Imageflow (hybrid cache) |
| Frontend | Bootstrap 5, jQuery, WaveSurfer.js, Dropzone.js, SweetAlert2, lightGallery |
| Auth | ASP.NET Identity, JWT, OpenID Connect, reCAPTCHA |
| QR & Media | QRCoder, SkiaSharp, iText7, EPPlus, Imageflow |
| DevOps | Git, Hangfire (background jobs), hosted background services |
| Patterns | Clean Architecture, Repository, Specification, UnitOfWork, CQRS, Soft Delete |