Skip to main content
This guide covers setting up the development environment for all three applications: backend, frontend, and iOS.

Prerequisites

Before you begin, you must have:
  • Ruby 3.4+ (via mise or rbenv)
  • Node.js 20+ (via mise or nvm)
  • MySQL 8.0+ (local or Docker)
  • Redis 7+ (local or Docker)
  • Xcode 15+ (for iOS development)

Backend setup

The Rails API powers all platform functionality.
1

Clone and install

2

Configure database

Copy the example database config and update credentials:
3

Setup database

4

Start the server

The API is now running at http://localhost:3000

Backend environment variables

Key environment variables needed:

Frontend setup

The Next.js admin dashboard for the EVO team.
1

Clone and install

2

Configure environment

Set NEXT_PUBLIC_API_URL=http://localhost:3000 to point to local backend.
3

Start development server

The admin dashboard is now running at http://localhost:3001

iOS setup

The creator-facing iOS application.
1

Clone the repo

2

Generate Xcode project

The project uses XcodeGen for project file generation:
3

Open in Xcode

4

Configure signing

In Xcode, select your development team under Signing & Capabilities.
5

Run on simulator

Select a simulator and press Cmd+R to build and run.

iOS environment

For local development, update the API base URL in the app configuration to point to your local backend (you may need ngrok or similar for device testing).

Running tests

Backend tests

Frontend type checking

Pre-push checklist

Before pushing to main, ensure:

Deployment

Never deploy with railway up or direct uploads. Always push to GitHub and let Railway deploy from the commit.

Backend (Railway)

Push to main branch triggers Railway deployment:
Verify deployment:

Frontend (Vercel)

Push to main branch triggers Vercel deployment automatically.

Getting help