This page provides a high-level overview of the lowFAT repository structure and the purpose of the main files and directories.

The goal is to help contributors and maintainers understand where different parts of the project are located.

Repository Root

The lowFAT repository contains the Django application itself, the public documentation site, development tooling, testing configuration, and deployment-related files.

Core Application

lowfat/

The main Django application.

This directory contains:

  • models,
  • views,
  • forms,
  • templates,
  • template tags,
  • admin configuration,
  • URL routing,
  • email logic,
  • and related application code.

manage.py

Django management entry point used for:

  • running the development server,
  • migrations,
  • loading fixtures,
  • creating superusers,
  • running tests,
  • and other management commands.

db.sqlite3

Default local development database.

Local development uses SQLite by default.

Documentation

docs/

Documentation source for the public GitHub Pages site.

The documentation pages are written in Markdown and generated using Jekyll.

README.md

Repository overview and entry point for contributors.

CONTRIBUTING.md

Contribution workflow and GitHub contribution guidance.

CITATION

Citation information for the project.

Static and Uploaded Files

static/

Collected static files used by the application.

upload/

Directory used for uploaded files and media content.

tmp/

Temporary files generated during local development and testing.

Development and Testing

requirements.txt

Main Python dependencies for the project.

requirements-devel.txt

Additional dependencies used during development.

tox.ini

Configuration for automated testing and linting.

bootstrap.sh

Downloads and configures frontend dependencies and static assets.

entrypoint.sh

Applies migrations and collects static files before starting the application.

workflow/

Project workflow and issue-management related documentation used during development and maintenance.

Deployment and Infrastructure

Dockerfile

Container build configuration for Docker-based environments.

docker-compose.yml

Multi-container deployment configuration.

Caddyfile

Configuration for the Caddy web server.

Makefile

Common development and deployment helper commands.

The public developer documentation focuses on repository structure, development workflows, and contributor guidance.

Operational deployment details, infrastructure credentials, production procedures, and security-sensitive configuration are maintained separately from the public documentation.