DataBase for Agile Material-science
According to wikipedia "jam" refers to "a type of fruit preserve" or "improvised music". In both cases, different content flows together to generate something novel. One could even say that in "improvised music" the performers are agile and adoptive to each other.
Agile software development (scrum) has revolutionized software projects. We believed that agile project planing is also highly beneficial for scientific research projects. To read more...
The raw data is the origin of scientific work and has to follow the FAIR principles to be trusted. JamDB uses DataLad for the raw data and simplifies it to the typical use of experimental material scientists. To read more on the use of dataLad...
In jamDB, the meta-data is stored in a document database called couchDB. This non-SQL database is very adoptive to the different raw data sources and corresponding different meta-data. Read more on this couchDB implementation...
If couchDB and dataLad are the two legs on which jamDB is build (and agile project planing is its heart), then the python backend is its torso, which links everything together. Read more on the backend...
- installation on Linux : Linux installation
- installation on MacOS : MacOS installation
- installation on Windows using WSL: Windows installation
- installation on Windows using Python anaconda: native Windows installation
First usage, aka. Tutorial
see firstUsage: first usage
The software was started shortly before the Corona-pandemic hit Germany in 2020.
The current state is given in features
- Steffen Brinckmann: principal investigator, focuses on python backend
- Thomas Düren: graphical user interfaces
- multiple colleagues that help with their valuable discussions
Frequently Asked Questions (FAQ)
- What does jamDB abbreviate? Jülich's Agile Materials science DataBase
What is the goal of the software?
- Data has two origins
- local directory structure where data can be dumped into (freedom to research)
- links to stored data in data-base
- follow (agile project management)[agileProjects], which is used in IT-projects
- jamDB is similar to Labfolder(TM), SciNote(TM), etc. only that it is open-source, has two data-sources, etc. See (features)[features.md] for more information.
- Data has two origins
What do you not want to do?
- persistent database of published data. "Dataverse" exists for that goal and does a fabulous job. JamDB is planned to upload to those databases
- storage for large amounts of raw data: giga-, terra- and penta-bytes. JamDB can link, extract data from that storage
- conceptional and legal data management database. "Data management plan (DMP)" exists as RDMO on github. JamDB is planned to link to that database
Most databases use a web-interface. Why don't you ?
There are many disadvantages to web-interfaces for databases:
- They are slower than native applications (Nobody writes a thesis on google-docs.)
- When you update a file on your hard-drive, you have to update it on the database version (The user has to synchronize the files which is error-prone.)
- Most programs that scientists use work well for local files: imageJ, gwyddion, origin. Implementing all this functionality into a web-interface is too complicated. Hence, two versions of each file exist (local and in the cloud) and have to be maintained. We find it better to maintain your version on your hard-disk and the software synchronizes it.
What are the advantages of web-based and desktop-based software?
- webforms incl. drag-drop
- works independent of operating system
- works for all screen sizes
- always updated software
- Desktop based
- faster typing, interaction
- full control by user and free flow of ideas, thoughts
- no internet access required
- no lock-in by software, software-architecture
- Best version
- Scientist has a desktop based version which uploads the data to central servers.
- Supervisors, guests can use the webbased version to see the meta-data
- Database can be filled with CLI, desktop, cellphone
Which user interfaces exist?
- allows easy access of local files
- development of extractors
- development and design of database
- CLI interface first developed
- autogenerate folder structure: to allow users to structure data and efficiently search folders
- reactDOM: allows connection of html
- reactNative: allows android / IPhone interaction
- reactElectron: allows GUI on desktop
- Two (replicated) databases exist: local and global
- CLI allows replication
- CLI enters into local
- Web-browser can read local and global