Installation
This guide covers everything you need to install and deploy Arre, from local development to production hosting. Whether you’re setting up for the first time or deploying to Firebase Hosting, we’ve got you covered.Prerequisites
Before installing Arre, ensure you have the following:Required Software
Node.js 22.12+
Download from nodejs.org. Verify with
node --versionnpm Package Manager
Comes with Node.js. Verify with
npm --versionGit
Version control system. Verify with
git --versionFirebase CLI (Production)
Install with
npm install -g firebase-toolsFirebase Account (Production Only)
For production deployment, you’ll need:- A Firebase account
- A Firebase project with Spark plan (free) or Blaze plan (pay-as-you-go)
- Enabled services: Authentication, Firestore, Functions, Storage, Hosting
For local development, you don’t need a Firebase account. The Firebase emulators run entirely offline.
Local Development Setup
Get Arre running on your machine with Firebase emulators for a complete local development environment.Install Dependencies
Install all Node.js packages:This installs:
| Package | Purpose |
|---|---|
[email protected] | UI framework |
[email protected] | Backend SDK |
[email protected] | Build tool |
[email protected] | Type safety |
[email protected] | Animations |
[email protected] | Charts |
[email protected] | Icons |
[email protected] | E2E testing |
[email protected] | Emulators & deployment |
Configure Environment Variables (Optional)
For local development, environment variables are optional because the app uses Firebase emulators. However, you can create a
.env file for consistency:Start Firebase Emulators
Open a dedicated terminal window for emulators:This starts four local services:
Emulator UI: Access at
| Emulator | Port | Purpose |
|---|---|---|
| Auth | 9099 | Mock user authentication |
| Firestore | 8080 | Local database |
| Functions | 5001 | Cloud functions for AI import |
| Storage | 9199 | File uploads (PDFs, CSVs) |
http://localhost:4000 to inspect data, view users, and monitor function calls.Keep this terminal open! Closing it will stop all backend services.
Start Development Server
In a new terminal, start Vite:The app starts at
http://localhost:5173 with:- ⚡ Hot module replacement (instant updates)
- 🔥 Firebase emulator connections
- 🎨 Full theme system (light/dark)
- 📊 Real-time Firestore sync
Verify Installation
Open
http://localhost:5173 in your browser. You should see:- Redirect to Login: Automatic navigation to
/login - Google Sign-In: Click “Continue with Google”
- Mock Account Creation: Instant simulated authentication
- Today View: Landing page with empty task list
Production Deployment
Deploy Arre to Firebase Hosting for a production-ready, globally distributed application.Create Firebase Project
- Go to Firebase Console
- Click “Add project”
- Enter project name (e.g.,
arre-prod) - Enable Google Analytics (optional)
- Create project
Enable Firebase Services
In your Firebase project, enable:
Authentication
Authentication
- Go to Authentication → Sign-in method
- Enable Google provider
- Add authorized domains (your production domain)
Firestore Database
Firestore Database
- Go to Firestore Database → Create database
- Start in production mode
- Choose a location (e.g.,
us-central1) - Deploy security rules from
firestore.rules
Storage
Storage
- Go to Storage → Get started
- Use default settings
- Deploy rules from
storage.rules
Cloud Functions
Cloud Functions
- Upgrade to Blaze plan (required)
- Enable Cloud Functions API
- Set up Secret Manager for
GEMINI_API_KEY
Configure Firebase CLI
Login and initialize Firebase:Select the following features:
- ✅ Firestore
- ✅ Functions
- ✅ Hosting
- ✅ Storage
- ✅ Emulators
Set Environment Variables
Create a production Get these values from:
Firebase Console → Project Settings → Your apps → Web app
.env file with your Firebase project credentials:Add
.env.production to .gitignore to keep credentials secure.Configure Gemini API Key
For AI Magic Import, set up the Gemini API key in Firebase Secret Manager:Get your Gemini API key from Google AI Studio.
Build for Production
Build the optimized production bundle:This creates a
dist/ directory with:- Minified JavaScript bundles
- Optimized CSS
- Code splitting for faster loads
- Source maps for debugging
Post-Installation Setup
After deploying to production, complete these steps:Security Rules
Verify your Firestore and Storage rules are deployed correctly:Analytics and Monitoring
Set up monitoring for production:- Firebase Performance: Track app performance metrics
- Crashlytics: Monitor errors and crashes
- Google Analytics: Track user engagement (if enabled)
CI/CD Pipeline (Optional)
Arre includes a GitHub Actions workflow for automated deployments:.github/workflows/deploy.yml
Development Commands
Reference for all available npm scripts:| Command | Description |
|---|---|
npm run dev | Start Vite development server (port 5173) |
npm run build | Build production bundle to dist/ |
npm run preview | Preview production build locally |
npm run emulators | Start Firebase emulators |
npm run test | Run Playwright E2E tests |
npm run test:ui | Run tests with Playwright UI |
Troubleshooting
Build Fails with TypeScript Errors
Build Fails with TypeScript Errors
Ensure you’re using TypeScript 5.9.3:
Firebase Deploy Fails
Firebase Deploy Fails
Check that you’re logged in and have the correct project selected:
Functions Deploy Fails
Functions Deploy Fails
Ensure you’re on the Blaze plan and have set the Gemini API key:
Emulator Data Not Persisting
Emulator Data Not Persisting
Export and import emulator data between sessions:
Next Steps
Backend Architecture
Learn about Firestore schema, security rules, and Cloud Functions
Testing Guide
Set up Playwright tests and understand the AI QA Agent
Features
Deep dive into Magic Import, metrics, and project management
API Reference
Explore the Firebase functions API and frontend hooks
Need help? Check out the GitHub Issues or contribute to the project!