- Metadash is a (meta)data manager, a data aggregator, or a data gateway, a dashboard center, and supports plugins.
- Metadash make use of concepts like "Generic Foreign Key(GKF)", "Entity attribute value model(EAV)", and there are two type of data in metadash, entity and attribute, each entitie have UUID for indexing and caching. Though sometimes, some of thoes conceptions are considered anti-pattern, but with powerful ORM and helpers, it's extremely flexible with acceptable performence.
- Metadash uses Flask, SQLAlchemy, Vue, Webpack, and some plugins for them. There are some 'magic' and workaround, by which I try to make the model and api layer neat and clean, and make plugins as simple as possible. More documents is comming later.
(Docker and docker-compose required)
docker build -t metadash .
docker-compose up -d
Dev enviroment (With hot reload and dev server) (npm and pipenv required, and python > 3.5)
bin/md-manager setup --develop --no-build
(Optinal: Required if you want to try async tasks or have better performance)
cp config/config.py.dev.example config/config.py
# Edit config according to your requirement
$EDITOR config/config.py
npm run ui-dev
bin/md-manager runserver
Any contribute, suggestion, issue is high welcomed! It's not well documented and not fully implemented yet, so everything could go wrong.