The all-in-one DataHack management platform, from registration to communications and voting!
- Setup the project by running
./scripts/setup
- boot containers
docker-compose up
- Migrate the database schemas by running
./scripts/migration apply latest
- If you want to populate the database then run
./scripts/backup restore lastest
Note: if you want to populate the database from a different version/file run
./scripts/backup restore <file path>
Note: This step is intended to be ran on a production server!
- Deploy project by running
./scripts/deploy
- Migrate the database schemas by running
./scripts/migration apply latest
- Wait for backups to be pulled from AWS automatically
- Populate the database by running
./scripts/backup restore lastest
To test the project we use Cypress running through docker and X11 rendering server.
- In order to run the tests through CLI run
./scripts test cli
- If you want to run the tests interactively you should run
./scripts test gui
Note: On macOS and Windows, and X11 server will be required, XQuartz is the standard X11 server for macOS and you will need to tick the Allow connections from network clients and restart Quartz.
In order to lint the project for code quality issues you could either run ./scripts/lint status
to view files that are conflicting with the code style or run ./scripts/lint fix
to resolve the conflicts automatically.
- On macOS, if you get the error
realpath: command not found
then you should install coreutils which could be installed through brew by runningbrew install coreutils
- Hasura fails to start. Run
docker-compose restart hasura
.
If step 3 (Migrate the database schemas by running ./scripts/migration apply latest
) fails. Try the following:
- Make sure containers are up.
docker-compose up
- open a new terminal and run.
docker exec -it hasura sh
- go to hasura-migrations.
cd hasura-migrations
- Copy the last printed version number (e.g. 1582141486977).
- Run
hasura-cli migrate apply --version 1582141486977
You're all set.
Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning.
This project is licensed under the GPL-3 License - see the LICENSE file for details