Prerequisites

Before you begin, make sure you have the following installed:

One of these supported platforms:

  • Linux-based environment
  • macOS (Darwin)
  • WSL under Windows

Quick Setup with Docker Compose

The easiest way to get started is using our Docker Compose setup:

# Clone the repository
git clone https://github.com/flexprice/flexprice
cd flexprice

# Set up the complete development environment
make dev-setup

This single command takes care of everything you need to get started:

  1. Starting all required infrastructure (PostgreSQL, Kafka, ClickHouse, Temporal)
  2. Building the FlexPrice application image
  3. Running database migrations and initializing Kafka
  4. Starting all FlexPrice services (API, Consumer, Worker)

Accessing Services

Once setup is complete, you can access:

Useful Commands

Here are some common commands you might need during development:

Running Without Docker

If you prefer to run the application directly:

# Start the required infrastructure
docker compose up -d postgres kafka clickhouse temporal temporal-ui

# Run the application locally
go run cmd/server/main.go

Connection Details

Use these credentials to connect to the various services:

API Documentation

FlexPrice provides comprehensive API documentation in OpenAPI 3.0 format.

Setting up Postman

  1. Open Postman
  2. Click on “Import” in the top left
  3. Select “Import File”
  4. Choose docs/swagger/swagger-3-0.json
  5. Click “Import”
  6. Create a new environment for local development:
    • Name: Local
    • Variable: baseUrl
    • Value: http://localhost:8080/v1
    • Variable: apiKey
    • Value: 0cc505d7b917e0b1f25ccbea029dd43f4002edfea46b7f941f281911246768fe

Troubleshooting

If you encounter issues during setup or operation, try these troubleshooting steps:

Need Help?

If you’re still experiencing issues after trying the troubleshooting steps, please:

Additional Resources