Skip to content

Developer Onboarding & Local Setup

Developer Onboarding & Environment Setup

Welcome to the PLANOVI engineering team. This guide outlines everything you need to know to set up your local development environment, configure credentials, and run the multi-platform application.


1. Prerequisites

Ensure your development workstation has the following installed:

  • Flutter SDK: ^3.24.0 (Dart ^3.5.0)
    • Run flutter doctor to verify Android toolchain, Xcode (macOS), and desktop build tools.
  • Node.js: v20.x or higher (required for documentation and Supabase Edge Function testing).
  • Git: Modern Git version with SSH or personal access token configured for GitHub (PA-IDEAS).
  • Supabase CLI (optional, recommended for Edge Function local development):
    Terminal window
    npm install -g supabase

2. Repository Cloning & Dependency Installation

  1. Clone the repository:
    Terminal window
    git clone https://github.com/PA-IDEAS/planovi-flutter-app.git
    cd planovi-flutter-app
  2. Install Flutter packages:
    Terminal window
    flutter pub get
  3. Install documentation dependencies:
    Terminal window
    cd docs
    npm install
    cd ..

3. Environment Configuration

The application requires environment configuration for Supabase endpoints and API keys. Create an environment file at .env in the root of the project (or inside assets/ as instructed by the repository .gitignore standards):

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-public-key

[!CAUTION] Never commit .env or files containing service-role keys to Git.


4. Running the Application

Running on Mobile (Emulator or Physical Device)

  • Android:
    Terminal window
    flutter run -d android
  • iOS (macOS required):
    Terminal window
    flutter run -d ios

Running on Web

Terminal window
flutter run -d chrome

Running on Desktop (Windows / macOS / Linux)

Terminal window
flutter run -d windows

5. Development Commands Reference

CommandDescription
flutter analyzeRun static Dart analysis for type errors and lints
dart format .Automatically format all Dart code according to official conventions
flutter testRun unit and widget test suites
cd docs && npm run devStart local Starlight documentation preview server at http://localhost:4321
cd docs && npm run buildBuild static production assets for Cloudflare Pages deployment