ImperialCollegeLondon / Faraday-liionsden

BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link
battery database django django-guardian django-rest-framework engineering research

Liionsden

:warning: Liionsden is currently in development :warning:

Liionsden is a platform for storing data about lithium-ion batteries and their performance. It automatically parses data from the output files of battery cycler machines and stores this information in a database, associating it with specific experiments and devices. Metadata is stored about specific experiments, batches of devices and individual devices.

The development server is running here (internal to Imperial College).

It will be possible to browse the database, as well as add to it, via a web-app and programatically via an API.

Liionsden is developed at Imperial College London, funded by the Faraday Institution Multi-scale Modelling Project.

Database structure

The database currently stores recorded cycler data along with metadata about:

A simplified version of the main battDB app is shown below. This does not include models in the common and dfndb app, which deal with data relating to users, organisations, components, parameters, methods.

database graph

Usage

Public data in the database can be browsed using the web platform. Registered "contributor" users can add experimental data, register equipment and batches of devices via the web platform.

In future, this will also be posible via the API.

Local installation

If you want to run a local version of Liionsden, we recommend using Docker. A docker-compose.yml is provided to include all the required environment variables and containers. To start the app, run docker compose up --build.

Dummy data can be loaded by running manage.py loaddata dummy_data/dummy_data.json from inside the web application container.

Full instructions to follow once the platform is in production.

Development notes

Development documentation is ongoing and can be found in the relevant docs subdirectory.

Some general hints and potential gotchas:

Contribution guidelines

We are following the pip-tools pip-compile convetion to generate requirements.txt and requirements-dev.txt from pyproject.toml for dependencies and development dependencies, respectively.

Related open-source software

TODOs

Generally development TODOs should be tracked in issues and/or project board.