Core
- Go:
1.25+ - Node.js:
24+(for Web) or18+(for Mobile) - pnpm:
9+(for Web) - Yarn:
1.22+(for Mobile) - Docker & Docker Compose
This guide will walk you through setting up the entire Merq platform on your local machine.
Before you begin, ensure you have the following software installed.
Core
1.25+24+ (for Web) or 18+ (for Mobile)9+ (for Web)1.22+ (for Mobile)Mobile (Optional)
3.0+ (for iOS)15+ (for iOS)Clone the Monorepo
Clone the main project repository which contains merq-backend, merq-web, and merq-mobile.
git clone <your-repository-url>cd merqSet Up Infrastructure (Database & Cache)
The backend requires a PostgreSQL database and a Redis instance. The easiest way to run these is with Docker.
From the merq-backend directory, start the required services:
cd merq-backenddocker-compose -f docker-compose.local.yml up -dThis command will start PostgreSQL on port 5432 and Redis on port 6379.
Configure Environment Variables
Each project has its own environment file. You need to create them from the provided examples and fill in the required values.
Backend:
cd merq-backendcp env.example .envEdit .env and set DB_PASSWORD, JWT_SECRET, etc.
Web Dashboard:
cd ../merq-webcp .env.example .env.localEnsure VITE_API_BASE_URL points to your backend (default: http://localhost:8080/api).
Mobile App:
cd ../merq-mobilecp .env.example .env.devSet API_BASE_URL and a STORAGE_ENC_KEY.
Set Up and Run the Backend
With the database running and .env configured, you can set up the backend using the provided scripts.
cd merq-backend
# Install Go dependenciesgo mod download
# Run database migrations (goose SQL migrations)./scripts/migrate.sh up
# Run database seeder (creates initial workspace, roles, super admin)./scripts/seed.sh
# Start the server./scripts/dev.shOr run everything in one command:
./scripts/dev.sh --migrate --seedThe backend API will be running at http://localhost:8080.
Set Up and Run the Web Dashboard
cd ../merq-web
# Install dependenciespnpm install
# Start the development serverpnpm devThe web dashboard will be running at http://localhost:3000. You can now log in with the user created by the backend seeder.
Set Up and Run the Mobile App (Optional)
Setting up the mobile app is more involved due to native dependencies.
cd ../merq-mobile
# Install dependenciesyarn install
# For iOS, install podscd ios && pod install && cd ..To run on Android:
API_BASE_URL in .env.dev is your computer’s local network IP address.yarn androidTo run on iOS (macOS only):
yarn ios