Project Structure
This page documents the high-level structure of the repository and where to find key components.
Overview
Top-level layout:
mkdocs.yml,README.md,pyproject.toml— repository metadata and build config.docs/— site documentation (this page).src/dms/— main Django project package containing apps for the DMS.volumes/— local volume data used for development (e.g. minio data stores).
src/dms/
This is the primary application code. Important subpackages:
core/— project wiring:apps.py,wsgi.py,urls.py, common helpers, storages, and tasks.datasets/— dataset models, admin, views, APIs, tables, and project-specific rules.projects/— project-scoped models, admin, forms and views.services/— service-related apps and endpoints.frontend/— Django-side integration for the modern frontend (views to serve the SPA, build config infrontend/).theme/— UI theme layer, templates and static sources for shared look-and-feel.uploads/,users/,surveys/— smaller apps handling file uploads, user extensions, and surveys.
Each app typically contains models.py, admin.py, views.py, urls.py, templates/, and migrations/.
Frontend
There is a JS/TS-based frontend under src/dms/frontend/. Look for package.json, tsconfig.* and vite.config.ts for the frontend build and dev server configuration.
Static assets and templates
src/dms/static/— compiled or collected static files served by Django.src/dms/templates/— Django templates used by server-rendered pages.
Fixtures, management and tests
fixtures/— example data used for development or tests.management/— custom Django management commands.tests/— unit and integration tests associated with apps (look inside each app for itstests/folder).
Development run
Common developer entrypoints:
src/dms/manage.py— runserver, migrations, shell, etc.- Docker-compose scripts in
docker-compose.ymlandDockerfileare used for containerized development and services
Where to look for configuration
- App settings and environment-specific config live under
src/dms/settings/.