Skip to main content
This guide is for developers who want to contribute to Ringee or run it locally for development. For production use, see Docker Compose.

Prerequisites

  • Node.js 20 or higher
  • pnpm 8 or higher
  • PostgreSQL 16
  • Redis 7

Installation

1

Clone the repository

git clone https://github.com/ringee-io/ringee.git
cd ringee
2

Install dependencies

Ringee uses a pnpm monorepo. Install all dependencies:
pnpm install
3

Configure environment

cp .env.example .env
Edit .env and fill in your API keys. For local development, the database and Redis defaults should work if you have them running locally:
DATABASE_URL="postgresql://ringee-user:ringee-password@localhost:5432/ringee-db-local?schema=public"
REDIS_URL="redis://localhost:6379"
REDIS_HOST="localhost"
REDIS_PORT=6379
See the Configuration Reference for all variables.
4

Set up the database

Generate the Prisma client and run migrations:
pnpm prisma generate
pnpm prisma migrate dev
5

Start the development servers

Run all services concurrently:
pnpm dev
Or start services individually:
# Backend API
pnpm --filter backend dev

# Worker
pnpm --filter worker dev

# Admin Frontend (B2B)
pnpm --filter frontend dev

# Consumer Frontend (B2C)
pnpm --filter frontend-b2c dev

Access the application

ServiceURL
Admin Frontend (B2B)http://localhost:4200
Consumer Frontend (B2C)http://localhost:4201
Backend APIhttp://localhost:3000

Project structure

ringee/
├── apps/
│   ├── frontend/         # Next.js admin app (B2B)
│   ├── frontend-b2c/     # Next.js consumer app (B2C)
│   ├── backend/          # NestJS REST API
│   └── worker/           # NestJS background jobs
├── packages/             # Shared libraries
├── prisma/               # Database schema & migrations
├── docker-compose.app.yml
├── .env.example
└── package.json

Useful commands

# Run database migrations
pnpm prisma migrate dev

# Open Prisma Studio (database GUI)
pnpm prisma studio

# Lint all packages
pnpm lint

# Type check
pnpm type-check

Next steps