BowlerPlate

Project Structure

2/19/2026

Overview of the project folder and file structure

This boilerplate is organized as a monorepo with four main directories: mobile (Flutter app), backend (Laravel API), docs (documentation site), and proxy (Caddy reverse proxy for Docker deployment).

Root Structure

Flutter mobile application
compose.yaml
README.md

Mobile (Flutter)

The mobile app uses Flutter with Riverpod for state management and auto_route for navigation.

component_preview.dart
api_result.dart
auth_response.dart
user.dart
session.dart
notification_item.dart
...
...
auth_provider.dart
theme_provider.dart
localization_provider.dart
notification_provider.dart
user_preferences_provider.dart
...
main.dart
app_router.dart
firebase_options.dart
pubspec.yaml
flutter_launcher_icons.yaml
flutter_native_splash.yaml
l10n.yaml
analysis_options.yaml

Backend (Laravel)

The backend is built with Laravel and uses Filament for the admin panel and Sanctum for API authentication.

Admin panel resources
artisan
composer.json
Dockerfile
compose.yaml
.env.example

Docs (Fumadocs)

The documentation site is built with Fumadocs on top of TanStack Start.

source.config.ts
vite.config.ts
package.json
Dockerfile

Proxy (Caddy)

The proxy folder contains Caddy configuration for Docker production deployment.

Caddyfile
compose.yaml
README.md

On this page