Getting Started
lowFAT is a Django application used to support the administration of the Software Sustainability Institute Fellowship Programme.
This guide explains how to set up a local development environment for contributing to the project.
The public Developer Guide focuses on contributor workflows, project structure, development setup, and general maintenance concepts.
Additional operational and deployment documentation is maintained separately for authorised maintainers. This includes production infrastructure, deployment procedures, backup and recovery operations, server configuration, and related operational guidance.
Dependencies
lowFAT currently uses:
- Python 3.10+
- Django 4.2
- SQLite3
We use venv for Python environments. Other environment managers, such as Conda, may also work but are not documented here.
The repository also includes Docker-related files and configuration for deployment and infrastructure workflows, but the standard contributor workflow currently uses a local Python virtual environment.
Initialisation
Only run the following commands after cloning the repository or when pulling new commits that require dependency or database updates.
Clone the repository:
git clone https://github.com/softwaresaved/lowfat.git
cd lowfat
Create and activate a Python virtual environment:
python3 -m venv .venv
source .venv/bin/activate
Install dependencies:
pip3 install wheel
pip3 install -r requirements.txt
Create a local environment file:
cp .env_template .env
Then edit .env:
- add a Django secret key
- ensure
DEBUG=Trueis enabled for local development
Download and configure frontend assets:
bash bootstrap.sh
Apply database migrations and collect static files:
bash entrypoint.sh
Load the example development data:
python3 manage.py loaddata lowfat/fixtures/*.json
Create a superuser account:
python3 manage.py createsuperuser
Start the development server:
python3 manage.py runserver
Run
Once the server starts you should see output similar to:
Performing system checks...
System check identified no issues (0 silenced).
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
You should now be able to access the local development server at:
http://127.0.0.1:8000/
bootstrap.sh downloads and configures frontend assets such as Bootstrap, Font Awesome, Selectize, and related static files.
entrypoint.sh applies database migrations and collects static files before starting the application.