How velzanava/lumine-backend works
Lumine Backend is a REST API for the Lumine Android/Unity AR jewelry try-on app. The main client workflow is to browse jewelry and retrieve item details for an AR try-on, then submit a rating; the API also handles authentication, profiles and favorites, catalog administration, and feedback summaries. Supabase provides authentication, database access, and image storage. The startup wiring and several controller excerpts are available; edges for unsampled controller behavior are omitted.
Main entry points: Program.cs API host · SupabaseService.cs Supabase client · ProfileController.cs Profile and favorites · AdminController.cs User administration
Components 17
API workflows
- API host
Program.cs - Authentication
Controllers/AuthController.cs - Profile and favorites
Controllers/ProfileController.cs - Jewelry catalog
Controllers/JewelryController.cs - User administration
Controllers/AdminController.cs - Try-on evaluation
Controllers/EvaluationController.cs
Backend services
- Catalog operations
Services/JewelryService.cs - Supabase client
Services/SupabaseService.cs
Data contracts
- Auth contracts
Models/AuthModels.cs - Profile and favorite records
Models/ProfileModels.cs - Jewelry record
Models/Jewelry.cs - Evaluation records
Models/EvaluationModels.cs
Supabase platform
- Supabase Auth
- Postgres database
- Supabase Storage
Other components
- Android app
- Admin
Connections 24
- API host → Supabase client: initializes
- API host → Authentication: maps routes
- API host → Profile and favorites: maps routes
- API host → Jewelry catalog: maps routes
- API host → User administration: maps routes
- API host → Try-on evaluation: maps routes
- Android app → Authentication: sends auth requests
- Android app → Profile and favorites: requests profile
- Android app → Jewelry catalog: browses catalog
- Android app → Try-on evaluation: submits rating
- Admin → User administration: manages users
- Authentication → Supabase Auth: calls auth API
- Authentication → Supabase client: signs in
- Profile and favorites → Supabase client: reads and writes
- Profile and favorites → Postgres database: updates profiles
- Profile and favorites → Supabase Storage: uploads avatar
- Jewelry catalog → Catalog operations: calls catalog operations
- Catalog operations → Supabase client: gets client
- Supabase client → Postgres database: accesses records
- Jewelry catalog → Supabase Storage: uploads jewelry image
- User administration → Supabase Auth: manages auth users
- User administration → Supabase client: reads and deletes records
- User administration → Supabase Storage: deletes avatar
- Try-on evaluation → Supabase client: reads and inserts