Software Project
Project directory#
The tree structure you see below describes the structure of the oeplatform code project. In general it is a django (using version 3.2) project that maintains multiple django apps that either serve for the frontend UI of the oeplatform website or host our WEB-APIยดs like the REST-API or our OEKG-API which provide a interface to specific functionality that accesses the the different databases we maintain.
The tree also shows several configurations and text files for the django application itself and also the project tooling and management we use to operate, test, maintain and document the system as well as the software code. Some files are also used to provide specific information about the development and deployment process and some other files are used for the project presentation on GitHub.
In the following we will dive a bit deeper into the structure of the project. We aim to provide a general understanding of the different modules so that developers become enabled to get started with the development.
.oeplatform
โโโ .github # GitHub test automation & repository configuration
โ โโโ ...
โโโ api # Django app
โย ย โโโ ...
โโโ base # Django app
โย ย โโโ ...
โโโ dataedit # Django app
โย ย โโโ ...
โโโ docker # Docker & docker-compose setup
โย ย โโโ ...
โโโ docs # mkdocs based project & code documentation
โย ย โโโ ...
โโโ factsheet # Django app with react frontend
โย ย โโโ ...
โโโ login # Django app
โย ย โโโ ...
โโโ media # All kinds of media data from appยดs
โย ย โโโ ...
โโโ modelview # Django app
โย ย โโโ ...
โโโ oedb_datamodels # Alembic migrations to manage the database structure
โย ย โโโ ...
โโโ oeo_viewer # Django app with react frontend
โย ย โโโ ...
โโโ oeplatform # Project configuration
โย ย โโโ ...
โโโ ontology # Django app
โย ย โโโ ...
โโโ static # statics from all apps are collected here
โย ย โโโ CACHE
โย ย โโโ ...
โโโ theming # The general oep design / styling and ui components
โย ย โโโ ...
โโโ versions # Changelogs
โ โโโ bumpversion.sh
โ โโโ changelogs
โโโ CITATION.cff
โโโ CONTRIBUTING.md
โโโ LICENSE
โโโ README.md
โโโ RELEASE_PROCEDURE.md
โโโ VERSION
โโโ alembic.ini
โโโ mkdocs.yml
โโโ package-lock.json
โโโ tox.ini
โโโ manage.py
โโโ environment.yml
โโโ requirements-dev.txt
โโโ requirements-docs.txt
โโโ requirements.txt
oeplatform#
Django Apps#
Casual django app
โโโ dataedit
โย ย โโโ __init__.py
โย ย โโโ admin.py
โย ย โโโ apps.py
โย ย โโโ forms.py
โย ย โโโ helper.py
โย ย โโโ management
โย ย โโโ metadata
โย ย โโโ migrations
โย ย โโโ models.py
โย ย โโโ static
โย ย โโโ structures.py
โย ย โโโ templates
โย ย โโโ templatetags
โย ย โโโ tests.py
โย ย โโโ urls.py
โย ย โโโ views.py
Django app that integrates a react frontend
โโโ factsheet
โย ย โโโ __init__.py
โย ย โโโ frontend
โย ย โโโ management
โย ย โโโ migrations
โย ย โโโ models.py
โย ย โโโ static
โย ย โโโ templates
โย ย โโโ urls.py
โย ย โโโ views.py
Basic functionality
- base
- login
REST API and Advanced API
- api
Features
Data publication(upload tabular data & metadata), view, search, peer-review, download
- dataedit
Model and Framework factsheets
- modelview
Scenario Bundles & Scenario Comparison
- factsheet
Integration of the OpenEnergyOntology (view, search download full .owl file that includes the latest release of the oeo)
- ontology
Design#
- base
- theming
- oep design system and workflow
โโโ theming
โย ย โโโ Dockerfile
โย ย โโโ README.md
โย ย โโโ _variables.scss
โย ย โโโ buildTheme.sh
โย ย โโโ oepstrap.scss
โย ย โโโ scss
Django-Project configuration#
โโโ oeplatform
โย ย โโโ __init__.py
โย ย โโโ dumper.py
โย ย โโโ securitysettings.py
โย ย โโโ securitysettings.py.default
โย ย โโโ settings.py
โย ย โโโ urls.py
โย ย โโโ views.py
โย ย โโโ wsgi.py
- django models & migrations
- sqlalchemy alembic structures
oedatabase#
โโโ oedb_datamodels
โย ย โโโ README
โย ย โโโ env.py
โย ย โโโ script.py.mako
โย ย โโโ versions
oep django db#
oe knowledgegraph#
oe knowledgebase#
lookup oep#
test oeplatform (replication)#
Dev-opperations#
- github actions
- automated tests
- workflows and procedure
- requirement management
- versions
Collaboration#
Documentation#
โโโ docs
โย ย โโโ css
โย ย โโโ dev
โย ย โโโ index.md
โย ย โโโ install-and-documentation
โโโ docker
โย ย โโโ Dockerfile
โย ย โโโ USAGE.md
โย ย โโโ apache2.conf
โย ย โโโ docker-compose.yaml
โย ย โโโ docker-entrypoint.sh