Skip to main content

Prerequisites

Before you begin, make sure you have the following installed. Not all are required depending on which platform you want to run.
ToolVersionRequired for
Java21+Desktop
Flutter SDKLatestMobile
PHP8.2+Web / Docker
Node.js18+Web / Docker
DockerLatestDocker setup
GitAnyAll
If you only want to run one platform, you only need the tools for that platform. Docker is the fastest path to a fully working environment.

Set up Rakcha

1

Clone the repository

git clone https://github.com/aliammari1/rakcha.git
cd rakcha
2

Choose your setup path

Select the platform you want to run:
3

Configure environment variables

The web application requires a .env file. Copy the example and edit it with your values:
cd apps/web
cp .env.example .env
Open .env and configure the following key variables:
# Application
APP_ENV=dev
APP_SECRET=your_secret_here

# Database — MySQL connection string
DATABASE_URL="mysql://[email protected]:3306/rakcha?serverVersion=8.0.32&charset=utf8mb4"

# Google OAuth
GOOGLE_ID=your_google_client_id
GOOGLE_SECRET=your_google_client_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_API_KEY=your_google_api_key

# Microsoft OAuth
MICROSOFT_LIVE_ID=your_microsoft_client_id
MICROSOFT_LIVE_SECRET=your_microsoft_client_secret

# Stripe payments
STRIPE_KEY=pk_test_...
STRIPE_SECRET_KEY=sk_test_...

# PayPal payments
PAYPAL_CLIENT_ID=your_paypal_client_id
PAYPAL_SECRET_KEY=your_paypal_secret
PAYPAL_CURRENCY=USD

# YouTube (trailer embeds)
YOUTUBE_API_KEY=your_youtube_api_key

# Meilisearch (full-text search)
MEILISEARCH_URL=http://127.0.0.1:7700
MEILISEARCH_API_KEY=your_meilisearch_key
Never commit .env to version control. It contains secrets. The .env.example file is the only committed reference.
4

Run database migrations

Apply all pending Doctrine migrations to create the database schema:
cd apps/web
php bin/console doctrine:migrations:migrate --no-interaction
When using Docker, run this command inside the web container: docker-compose -f apps/web/compose.yaml exec web php bin/console doctrine:migrations:migrate --no-interaction
5

Access the running application

Once setup is complete, open the application in your browser:
http://localhost

Install dependencies for all platforms at once

To install all dependencies in one step using the Task runner:
npm install -g @go-task/cli
task setup
This runs web:install, mobile:get, and desktop:build in sequence.

Build docs developers (and LLMs) love