Repository Layout¶
This repo follows a standard Laravel structure with a few custom additions for Genji.
Top-Level Structure¶
app/- Application code.Http/Controllersgrouped by domain (Maps, Newsfeed, Lootbox, Mods, Users, Utilities).Http/Middlewarefor auth, Discord moderation, locale detection, Sentry user context.Servicesfor Genji API and GitHub releases.Extensions/ApiSessionHandlerfor API-backed sessions.Supporthelpers and translation utilities.Providersregister services and middleware.routes/-web.phppages and auth flows,api.phpJSON endpoints,console.phpfor CLI hooks.resources/- Blade views, JS, CSS, and language assets.public/- Public assets andpublic/buildoutput from Vite.config/- App, services, CSP, sessions, Cloudflare middleware, Sentry, and custom settings.docker/- Unit config and entrypoint.docker-compose.dev.yml/docker-compose.prod.yml- Deployment entrypoints.Dockerfile- Multi-stage build for frontend assets and PHP runtime..github/workflows/- Dev and prod deploy workflows.
Important Files¶
Dockerfile- Node build, Composer install, then Unit runtime image.docker/unit.json- Unit routes, static caching, and PHP process settings.docker/entrypoint.sh- Unit bootstrap and cache warming.vite.config.js- Vite input bundles for each page.tailwind.config.js- Theme, colors, and animation settings.