← Back to blog

Getting Started with Stocktimal

Stocktimal Team ·

What is Stocktimal?

Stocktimal is a Django + React SaaS starter template built for multi-tenant Azure deployments. It ships production-ready infrastructure, authentication, billing, and a component library — so you can focus on the problem your product actually solves.

Version 1.0

Who is it for?

This template is aimed at small engineering teams that want to ship fast without sacrificing architectural quality. If you've built Django APIs and React frontends before, you'll feel at home.

Prerequisites

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

ToolVersion
Python3.14+
Node.js20+
Docker24+
just1.x
Azure CLI2.x

Installation

Clone the repository and run the setup command:

git clone https://github.com/your-org/project-starter.git my-project
cd my-project
just setup

The setup recipe installs Python and Node dependencies, generates a local .env file with safe defaults, and runs the database migrations so you can start the development server immediately.

Note: The first run takes a couple of minutes — uv resolves the full dependency graph and Docker pulls the Postgres and Redis images.

Project layout

The repository is organised as a monorepo:

  • backend/ — Django application (API, admin, background tasks)
  • frontend-app/ — React SPA (the product UI, Vite-based)
  • frontend-static/ — Next.js static site (marketing, blog, legal)
  • domain/ — shared domain models and events (Python package)
  • ui/ — shared component library (React + Tailwind)
  • infra/ — Bicep modules and deployment scripts

Running locally

just dev

This starts all services concurrently: Django on port 8000, the Vite dev server on port 5173, and the Next.js dev server on port 3000. A Caddy reverse proxy on port 80 ties them together so your browser sees a single origin.

Architecture overview diagram showing Caddy routing traffic to Django, Vite, and Next.js
Local development: Caddy as the single entry point

Next steps

Once you're up and running:

  1. Fill in project-config/choices.md with your project's details
  2. Run just init to apply the template substitutions
  3. Add your first feature branch