BowlerPlate

Quick Start

2/19/2026

Get up and running with Bowlerplate in under 10 minutes.

This guide assumes you've already read the Prerequisite section and have all requirements installed.

Time Estimate: ~10 minutes for a fully working development environment.


Clone the Repository

After completing your purchase, you'll receive access to the private repository. Clone it to your local machine:

git clone https://github.com/your-username/bowlerplate.git my_app_name
cd my_app_name

Backend Setup

Install PHP Dependencies

Navigate to the backend folder and install Composer dependencies:

cd backend
composer install

Configure Environment

Copy the example environment file and generate an application key:

cp .env.example .env
php artisan key:generate

Setup Database

The boilerplate uses SQLite by default for quick local development. Run migrations and seeders:

php artisan migrate --seed

The seeder creates a default admin user: admin@example.com / password

Install Frontend Dependencies

Install Node.js dependencies for the admin panel:

bun install
# or: npm install

Start the Backend Server

php artisan serve

Your API is now running at http://localhost:8000. You can access the Filament admin panel at http://localhost:8000/admin.


Mobile App Setup

Open a new terminal window and navigate to the mobile folder:

Install Flutter Dependencies

cd mobile
flutter pub get

Configure API Endpoint

Open lib/constants/api_endpoints.dart and update the baseURL to point to your local backend:

static const String baseURL = "http://10.0.2.2:8000"; // Android Emulator
// or: "http://localhost:8000" for iOS Simulator
// or: "http://YOUR_LOCAL_IP:8000" for physical device

Android emulators can't access localhost. Use 10.0.2.2 instead, which maps to your host machine's localhost.

Run Code Generation

Generate model classes and freezed files:

dart run build_runner build --delete-conflicting-outputs

Launch the App

flutter run

Verify Everything Works

Once both the backend and mobile app are running:

  1. Open the mobile app – You should see the onboarding/login screen
  2. Register a new account or login with the seeded credentials
  3. Access the admin panel at http://localhost:8000/admin using admin@example.com / password

What's Next?


Troubleshooting

Connection Refused on Mobile

If the mobile app can't connect to the backend:

  • Android Emulator: Use http://10.0.2.2:8000 instead of localhost
  • iOS Simulator: localhost should work, but try 127.0.0.1 if it doesn't
  • Physical Device: Use your computer's local IP (e.g., 192.168.1.x)

Database Errors

If you encounter database errors:

php artisan migrate:fresh --seed

This resets the database and re-runs all seeders.

Build Runner Conflicts

If code generation fails:

dart run build_runner clean
dart run build_runner build --delete-conflicting-outputs

On this page