Skip to content
Glenice Tan edited this page Oct 7, 2018 · 4 revisions

Setting up Development Environment

  1. Install Pipenv, Docker, and docker-compose
  2. Clone repository and enter folder
  3. Run pipenv install and pipenv shell to enter virtual environment. Ctrl-d to exit environment.
  4. If volumes folder exists in the director, rm -r volumes/ to remove previous db records.
  5. Run docker-compose build
  6. Run docker-compose up to launch flask server and postgres server.
  7. Navigate to 127.0.0.1 in your browser to check if flask is active.

Contribution Guidelines

The following standards and guidelines are to be abided to closely when contributing to this project. All code is will be subjected to code review process before it is merged into master.

Coding Standards/Guidelines

How to Contribute

  1. Go to Issues and pick something to work on. Make sure you assign yourself the issue and select the correct project and milestone.
  2. If the issue does not exist, create one. Make sure to scope your issues properly, think in terms of features. For example "Implement Database System" is to broad, go with something like "Implement query feature in Webview".
  3. Create a branch for each new feature you implement. For simplicity's sake, only work on your own branches.
  4. When a feature is complete, do a pull request to master. Make sure you pass all unit tests (run tox) before doing your pull request. Your pull request description should clearly indicate which issue the pull request is part of e.g. "part of issue #1 and issue #5".
  5. @niktay shall be the main code reviewer, in the event that he is unavailable @blackroxs will do code reviews.
  6. If changes are requested, make the changes and comment "Changes made." on the pull request once you are done.
  7. Once your code is approved, select "Squash and Merge". Remove unnecessary commit messages e.g. "Fix typos" and leave only concrete stuff e.g. "Add database configuration", "Implement deletion from database".
  8. If an issue has been completely resolved, close the issue if you were the one that created it.