This is the web server part of the EveryClass project.
If you find any problems with the code please open an issue and provide as much detail as possible. If you wish to discuss the project, you can join our forum (Chinese).
- Flask: Python web framework
- PostgreSQL: database
- uWSGI: WSGI gateway
- Redis: cache/HyperLogLog
- Use
pipenv sync
to build a virtualenv with dependencies installed - Copy
everyclass/api_server/config/default.py
and name itdevelopment.py
. Change settings to adjust to your local development environment - Set the environment variable
MODE
toDEVELOPMENT
, then runserver.py
This is an open source project and we would be happy to have contributors who report bugs, file feature requests and submit pull requests. Please report issues here: https://github.com/AdmirablePro/everyclass/issues (not issue tracker of this repository!)
- All development goes on the feature/feature-name branch. To commit a change make a pull request or merge to the
master
branch if you have permission - Tagged commits following the pattern
vX.X.X
will be watched by Travis, our continuous integration tool, which runs unit-tests, builds the Docker image, pushes the image to our private registry and updates services in thestaging
environment. Tags following the patternvX.X.X_testing
will upgrade thetesting
environment. - Commits should be tested in the staging environment before they are deployed to the production environment.
- Write clear and meaningful git commit messages
- Make sure your pull request description contains GitHub's special keyword references that automatically close the related issue when merged. (More info at https://github.com/blog/1506-closing-issues-via-pull-requests)
- When you make minor changes to a pull request (like for example fixing a failing travis build or some small style corrections or minor changes requested by reviewers) squash your commits afterwards so that you don't have an absurd number of commits for a small fix. (Learn how to squash at https://davidwalsh.name/squash-commits-git )
When you file a feature request or submit a bug report to the issue tracker, add the necessary steps to reproduce it. This is very important for weird/rare bugs.