Mosaic is a web app for recursive question-answering with pointers.
This is an alpha version with bugs, missing features, and usability issues.
docker-compose up
in the root folderOn first run, you might have to call migrate
to initialize the database:
docker exec -it mosaic_api_1 bash
> cd /data
> node_modules/.bin/sequelize db:migrate
To run the backend tests, attach a shell to the Docker api
service:
docker exec -it mosaic_api_1 bash
cd /data
yarn test
The code is written in Typescript, but much of it is not correctly annotated. We use Prettier for code formatting.
Mosaic uses Auth0 for authentication, which means you will not be able to login without internet access, even while developing locally. To get around this, follow these steps:
user_id
and access_token
valuesNow when you try to login in the future while offline, enter these values in your browser on localhost:3000, refresh the page, and you will be logged in.
The app is deployed on Heroku.
To create a development build on your branch, create a pull request. A link to a development build with the latest version of your branch will be on your PR page.
When a branch is merged into master, CI runs. If the CI passes, the main deploy is updated automatically. Configure this setting at https://dashboard.heroku.com/apps/mosaic-prod/deploy/github.
Note that docker-compose.yml
and package.json
at the root level must be kept in sync.
All code changes should be made via PRs (as opposed to e.g. via just pushing to master). The PR process is:
Mosaic uses Intercom for chat support. Login and enter https://app.intercom.io/a/apps/gmkvd6s1/inbox to view the latest messages.