Skip to content

Local Development Project Setup

This section explains how to set up the project for local development using Docker, Docker Compose, uv, and the provided Makefile.

The project is container-first and does not require Python and Redis to be installed on the host machine .


Prerequisites

Before starting, ensure the following are installed on your system:

Required

  • Docker (>= 24.x recommended)
  • Docker Compose v2 (comes bundled with Docker Desktop )
  • GNU Make
  • Git

Project Structure Expectations

At minimum, the repository root must contain:

  • Dockerfile.dev
  • Dockerfile.prod
  • docker-compose.dev.yml
  • docker-compose.prod.yml
  • .env
  • Makefile
  • pyproject.toml
  • uv.lock

All Django apps live inside the same repository and are mounted into containers.


Development Setup (Local)

Development uses:

  • SQLite
  • Django runserver
  • Redis
  • Celery worker
  • Celery beat

Local Development Setup Steps:

1. Download Project

  • Download the project from pykits.dev
  • Extract and go to project directory: cd digistore

2. Environment Configuration

  • Rename .env.dev.env
  • Open .env and update all required environment variable's value. You may need to create accounts for the following services:
  • Google reCAPTCHA
  • Google OAuth (Login)
  • Dodo Payments account
  • Google Analytics
  • Resend: Email Service
  • Digital Ocean Object Storage
  • Telegram Bot

3. Tailwind Dev Server

If you want hot-reload for Tailwind & frontend assets:

cd digistore/z_dev
npm install
npm run dev

Keep this terminal running during development.

4. (Optional) Reset Old Migrations

If you want a fresh DB schema (only for local dev), Do NOT use on production.

python reset_all_migrations.py

This will:

  • Delete migration files
  • Reset migration history

After this you must also:

  • Delete the existing database (sqlite3.db)
  • Then run:
make makemigrations
make migrate

5. Build & Start Development Containers make rebuild

This will:

  • Build the development image (Dockerfile.dev)
  • Start Redis
  • Start Django app container
  • Start Celery worker
  • Start Celery beat
  • Check running containers: make ps-all

6. Run Django Migrations

After containers are up: make migrate

7. Access the Website http://127.0.0.1:8000

8. Create Superuser (Admin Login)

make superuser

Then access:

Admin Panel → http://127.0.0.1:8000/pkad

Need Help?

If you face any issues, please create a support request after logging into your account: pykits.dev → My Apps → Support Request


You must Check Make Commands