Human biology is tough 🤯- but learning about it isn't anymore 🥳
View Demo
·
Report Bug
·
Request Feature
This repository helps people who like to intensify their knowledge about the human metabolic pathways. The main idea is to encode a variety of those pathways in a graph database, which can be used to automatically generate questions which might be used for exam preparation.
DISCLAIMER: As I did not study anything biology related, I can't ensure that all information is encoded correctly. Therefore I highly encourage all attentive readers to open an issue whenever information shall be adjusted, in order to keep the knowledge as correct as possible.
- Spring Boot
- Neo4j
- Postgres
- Bulma
- Heroku
- Digital Ocean
- Coffee ☕️ & Love ❤️
Before you can ramp up the stack, you need to export the following environment variables, which are used in the application.properties as well as the docker-compose.yml file.
Name | Description | Example |
---|---|---|
POSTGRES_USER | Postgres Username | postgres |
POSTGRES_PASSWORD | Password of the POSTGRES_USER | postgres-is-my-favourite-db |
POSTGRES_URL | Spring Data URL of the Postgres | jdbc:postgresql://<host>:<port>/<schema> |
NEO_USER | Neo4j User | neo4j |
NEO_PASSWORD | Password of the NEO_USER | neo4j-is-my-favourite-db |
NEO_URI | URI of the Neo4j instance | bolt://<host>:<port> |
- Export the required environment variables
- Ramp up the infrastructure via
docker-compose up -d
- Launch the application via
./gradlew bootRun
- Open a web browser at
http://localhost:8080/index.html
A live demo is available here (as it is hosted on a free Heroku Dyno it might have been put to sleep automatically - give it a few seconds to reboot once you hit the page).
Query:
curl http://localhost:8080/api/v1/questions/random?type=a2n
Result:
{
"created" : "2020-03-15T22:39:12.489473",
"question" : "What does 'PFK' stand for?",
"qid" : "620ea062-4f0e-47b5-86a6-68990e9cfe67",
"answer" : "Phosphofructokinase"
}
Question:
curl http://localhost:8080/api/v1/questions/random?type=n2a
Result:
{
"answer" : "GAP-DH",
"question" : "What is the abbreviation for 'Glycerinaldehyd-3-phosphat-Dehydrogenase'?",
"qid" : "bc8d2301-cacf-400b-8111-302af4273d74",
"created" : "2020-03-15T22:40:27.306076"
}
🚧 under construction 🚧
🧬🧪Metabolic Pathways:
- Glycolysis
- Pentose Phosphate Pathway
- Gluconeogenesis
- Cori Cycle
- ...
🤖❓Generated Question Types:
- What does the abbreviation "FBP" stand for?
- What is the abbreviation for Fructose bisphosphate?
- Which enzymes are part of the glycolysis?
- Which enzyme is responsible for the transormation from glucose to glucose-6-phosphate?
- What is the process to transform glucose into fructose 1,6 biphosphate?
- Which metabolic pathways consume nicotinamide adenine dinucleotide?
- Which metabolic pathways create adenosine triphosphate?
- What type of molecule is sucrose?
- What reactions of the glycolysis are reversible?
- What is the purpose of the Cori cycle?
- ...
🛠🎛 Admin Features:
- Question Logging
- Answer Logging
- Multitenancy
- (Learn) Progress Tracker
Further pathways and/or question types can be added by raising an issue.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Joshua Görner - jgoerner - joshua.goerner[at]gmail.com
- O. Drew - nice GH Readme template
- designevo.com - Logo generated by DesignEvo free logo designer