Project Information

All Projects

All projects must have the following:

  • Some form of login (we are working on the best way to incorporate Netbadge - we will announce if/when we have something workable)
  • Use Python 3 (one of the later versions is preferrable)
  • Use Django 2.1.2
  • Run in a standard web browser
  • Run (and look good) in a mobile web browser
  • Run on Heroku

Heroku Information

Example Django App Repo that uses Travis-CI and Heroku:

Key things to note:

  • Check the requirements.txt file... notice that I have two versions - one for Travis and one for Heroku.
  • At the bottom of settings.py I check to see if django_heroku is available or not and load or not load the library based on that check.
  • You can do automatic deployment to Heroku in two ways:
    • You can set both Heroku and Travis to pull and build whenever you push to the master branch (easier to setup, but not completely ideal... you'd prefer the build only go live if test)
    • Better - setup Travis to deploy only if the tests pass - see https://docs.travis-ci.com/user/deployment/heroku/

Minimal Standards for Code Contribution to the Project

As a part of the Professional Issues Knowledge Area, all team members are required to make reasonable code contributions to the overall project. Below is how we will assess each student.

Goal: Establish whether a student is competent in the following areas:

  • Student knows how to use source control to push code to the master branch of the project
  • Student knows the basics of how Django works and can reasonably contribute code
  • Student can produce working and testable code as a part of a larger project

There are multiple inputs that we will examine to determine a Pass or No Pass for a given student:

  • GitHub commit logs: While we are not looking for "student must have made X commits," there should be a reasonable record of evidence that the student contributed meaningful code to the project
  • Team evaluations: Regardless of whether code was submitted or not, consistent reported instances of inability to integrate code will result in a deeper examination of a student's contributions by the staff
  • Launch the app: A student should be able to demonstrate that they can run the app locally on their machine unassisted by any other team member
more ...