Skip to main content
LarpLand is a comprehensive Flutter application for LARP (Live Action Role-Playing) enthusiasts, featuring e-commerce, event management, and role-based access control.

Core Features

Authentication

Firebase-based user authentication with email/password and session management

Product Catalog

Browse and search LARP equipment, costumes, and accessories with reviews

Shopping Cart

Full-featured cart with checkout, order management, and state persistence

LARP Events

Discover and register for roleplay events with notification support

User Roles

Role-based access control with User (rol=0) and Admin (rol=1) permissions

Technology Stack

  • Frontend: Flutter with Provider state management
  • Backend: Firebase (Auth, Firestore, Storage)
  • Authentication: Firebase Authentication
  • Database: Cloud Firestore with numeric ID system
  • Storage: Firebase Storage for product images

Architecture Highlights

Firebase Backend Integration

All features leverage the centralized FirebaseBackend service which provides:
  • Singleton access to Firebase services (Auth, Firestore, Storage)
  • Numeric ID generation with atomic counters
  • Timestamp normalization for consistent date handling
  • Centralized error handling and messaging

State Management

The application uses Flutter Provider for state management, particularly in the shopping cart feature with CartProvider.

Session Management

User sessions are managed through the AuthSession class which maintains:
  • Firebase ID token
  • User ID (numeric)
  • User role (0 = User, 1 = Admin)
  • Firebase UID

Collections in Firestore

The application uses the following Firestore collections:
CollectionPurposeKey Fields
usersUser profilesid, name, email, rol, firebase_uid
productsProduct catalogid, nombre, descripcion, precio, cantidad, imagen
eventsLARP eventsid, nombre, descripcion, fecha_inicio, fecha_fin
event_registrationsEvent registrationsuser_id, event_id
ordersPurchase ordersid, user_id, items, total_amount, status
reviewsProduct reviewsproduct_id, user_id, rating, comment
_metaSystem countersAuto-incrementing ID counters

Next Steps

Explore each feature in detail using the cards above, or dive into the API Reference for implementation details.

Build docs developers (and LLMs) love