Clotho is a framework for engineering synthetic biological systems and managing the data used to create them. You can author data schemas, run functions and algorithms, and tie Clotho into existing applications.
We have continuous integration set up with CircleCI which deploys the master branch onto our server. Check it out at alpha.clothocad.org
Clotho is built with the hapi framework. We're using MongoDB as a data store.
You need Node.js installed and you'll need MongoDB installed and running.
You can also install Java 8, and Python 3
We use bcrypt
for hashing
secrets. If you have issues during installation related to bcrypt
then refer
to this wiki
page.
git clone [email protected]:hicsail/clotho.git
cd clotho
npm install
npm install -g pm2
npm run setup
Simply edit config.js
. The configuration uses
confidence
which makes it easy to
manage configuration settings across environments. Don't store secrets in
this file or commit them to your repository.
Instead, access secrets via environment variables. We use
dotenv
to help make setting local
environment variables easy (not to be used in production).
Simply copy .env-sample
to .env
and edit as needed. Don't commit .env
to your repository.
npm run pm2
Now you should be able to point your browser to localhost:9000 and see the home page.
- If running for the first time, please go to /setup and create a root user
pm2 stop all
Any issues or questions (no matter how basic), open an issue. Please take the initiative to read relevant documentation and be pro-active with debugging.
Contributions are welcome. If you're changing something non-trivial, you may want to submit an issue before creating a large pull request.
Lab is part of the hapi ecosystem and what we use to write all of our tests.
npm test
# > ./node_modules/lab/bin/lab -c
# ..................................................
# ..................................................
# ..................................................
# ..................................................
# ..................................................
# ........
# 258 tests complete
# Test duration: 2398 ms
# No global variable leaks detected
# Coverage: 100.00%
# Linting results: No issues
MIT