Skip to content
This repository was archived by the owner on Dec 14, 2025. It is now read-only.

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

🚀 Getting Started with Elluminar

Welcome to Elluminar! This guide will get you up and running quickly.

📋 Prerequisites

System Requirements

  • Flutter: 3.10+
  • Dart: 3.0+
  • Node.js: 16+ (for scripts)
  • Git: Latest version

Platform-Specific Requirements

  • macOS: Xcode 14+ (for iOS development)
  • Windows: Visual Studio with C++ tools
  • Linux: Standard development tools

🏃‍♂️ Quick Start (5 minutes)

1. Clone & Setup

# Clone the repository
git clone <repository-url>
cd elluminar_mobile

# Set up environment
./scripts/setup_environment.sh

2. Configure Environment

# Copy environment template
cp config/environment-template.env .env

# Edit .env with your credentials (see configuration guide below)

3. Generate Database Schema

# Generate complete database setup
dart run scripts/supabase/generators/generate_database_refactored.dart

4. Run the App

# Install dependencies
flutter pub get

# Run on web (recommended for development)
flutter run -d chrome

# Or run on connected device
flutter run

📋 Detailed Setup

Environment Configuration

Your .env file needs these credentials:

# Supabase Configuration (Required)
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key-here

# OAuth Configuration (Required for auth)
GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-google-client-secret

# Optional OAuth providers
FACEBOOK_CLIENT_ID=your-facebook-app-id
GITHUB_CLIENT_ID=your-github-client-id

Get Your Credentials

Supabase Credentials:

  1. Go to Supabase Dashboard
  2. Select your project → Settings → API
  3. Copy Project URL and anon public key

Google OAuth:

  1. Go to Google Cloud Console
  2. Create OAuth 2.0 Client ID (Web application)
  3. Add authorized origins (e.g., http://localhost:3000)
  4. Copy Client ID and Secret

Database Setup

After configuring environment:

# Apply database policies to Supabase
dart run scripts/supabase/utilities/apply_policies.dart

# Verify setup
./scripts/supabase/utilities/test_refactored_system.sh

🎯 First Run Checklist

  • Environment variables configured
  • Supabase project connected
  • Google OAuth configured
  • Database policies applied
  • App runs on web browser
  • Authentication works (test login)

🔧 Development Workflow

Daily Development

# Start development server
flutter run -d chrome

# Hot reload: Press 'r' in terminal
# Hot restart: Press 'R' in terminal

Database Changes

# After modifying Prisma schema
dart run scripts/supabase/generators/generate_database_refactored.dart
dart run scripts/supabase/utilities/apply_policies.dart

Running Tests

# Run Flutter tests
flutter test

# Test database system
./scripts/supabase/utilities/test_refactored_system.sh

🚨 Common Issues & Solutions

"Google Client ID not set"

Solution: Ensure GOOGLE_CLIENT_ID is in your .env file and the file is in project root.

"Permission denied for table"

Solution: Run database policy application:

dart run scripts/supabase/utilities/apply_policies.dart

"Supabase connection failed"

Solution: Check your SUPABASE_URL and SUPABASE_ANON_KEY in .env file.

Flutter build issues

Solution: Clean and rebuild:

flutter clean
flutter pub get
flutter run

📚 Next Steps

After successful setup:

  1. Authentication: Authentication System
  2. Architecture: System Architecture
  3. Features: Feature Documentation
  4. Development: Development Guide

💡 Pro Tips

  • Use web for development: Fastest hot reload
  • Check logs: Use browser dev tools for debugging
  • Environment first: Always configure .env before development
  • Database policies: Re-apply after schema changes
  • Git hooks: Commit tests will run automatically

🆘 Need Help?


🎉 Ready to build amazing consultation experiences!