RFiD Tracker: Getting Started
1. The Tech Stack
- Language: Python 3.14 (Managed via Nix)
- Framework: Django
- Package Manager:uv (Fastest Python resolver/installer)
- Environment:Nix (with the
stdlibrary) - Command Runner:
just(alternative tomake)
2. Setting Up the Environment
You do not need to install Python or Django manually. You only need Nix.
Step 1: Install Nix
If you don't have it, install Nix and enable "“experimental features"features” (Flakes and Nix Command).
considerConsider doing the latter like that:
1) sudo mkdir /root/.config/nix
2) sudoedit /root/.config/nix/nix.conf
3) In there, add this line experimental-features = nix-command flakes
Step 2: Enter the Development Shell
nix develop
What happens when you run this? Nix reads shells.nix and packages.nix to:
- Download and provide Python 3.14.
- Install system tools like
curl,git,uv, andjust. - Set up your
PATHto include the project’s virtual environment (.venv/bin). - Activate a custom shell prompt (the
"“embedconsole"console”).
Step 3: The "Just"“Just” Command Runner
Once inside the Nix shell, we use a tool called just to run common tasks.
Command | Action |
| Lists all available commands. |
| Run this first. It migrates the DB and asks you to create a |
| Starts the Django development server. |
| Generates new DB migration files after model changes. |
| Automatically formats all code using |
| Runs the Django test suite. |
Step 4: Running the dev server
Consider using these commands after all previous steps:
nix init-db creates and initializes the db,DB, prompting for super usersuperuser credentials.nix dev starts a local dev server.
Congratulations! You are ready to develop.