System Admins & Code Reviewers
This section contains tasks associated with system admins and code reviews. Please add technical reviews based on the code submitted on GitHub.
- Build technical architecture, manage deployments
- Please include the link to module
- Directly-Responsible Individual (DRI) Kristiono Setyadi
- Coordinators (horizontal team): Gaby, Elsa, Neil, Saiph, Durim, Rohit
|Kristiono Setyadi||System Administration|
|Neil Gaikwad||Data System Architecture|
System Admin Activities
- Provision database for testing
- Create / maintain replica setup, backups
- Set up monitoring if database goes down
- Enable south and set up migrations
- Provision Django with Gunicorn and Nginx.
- Run multi process python server with Gunicorn and have it load balance
- Set up restart and monitoring on server in case of errors / failures (pagerduty)
- Manage users and permissions (ideally primary and backup only)
- Set up code repository on github and structure for forking repositories
- Check DB level code reviews
- Perform migrations for schema level code changes (with Django models)
- Ensure migrations DO NOT crash the database
Technical Reviews & Suggestion
- We are starting off with Heroku for Django + PostGres
- In the future, we might migrate to provisioning our own Dbs and servers, caching etc
- Heroku enables easy scaling of servers and dbs, we will be using 1 instance (cheapest plan). It also provides South support for Django.
- Users will be maintained through the native Django interface
Collaborating on Github
Our collaboration is based on GitFlow: http://nvie.com/posts/a-successful-git-branching-model/
There are two main branches:
master branch should always reflects a production-ready state.
develop branch is where we all working on the next release.
If you want to create a module or feature, it is encouraged to use your own branch and name it using
feature-* prefix, e.g.:
feature-vote to create a feature that enable user to vote in the system.
feature-review to create a feature that enable user to make a review in the system.
After you're done with it, you can merge to
develop branch using
--no-ff (no fast forward, so it will retain the history of commits).
Deadline: Friday, 24th 9am PST