A Django Application#

To complete this milestone you should have completed the Django tutorial and built your own Django application. Once you’ve got the application working in the dev environment you will make a GitHub release as described in the next section.

GitHub Release#

Note

In class I show you how to make a release. Step instructions are in GitHub’s official documentation.

A release of software in a repository is a commit number that gets one or more extra names, like v1.0.2. A release tells the world that the commit contains software that the developers believe is ready for other people to use. From now on, milestones should have release versions associated with them that I can view in GitHub. Making a release ensures that I see the version you turned in, even if you make commits before I have a chance to check your milestone.

Each time you turn in a milestone you will need to create a new release number. They should follow a template like this:

milestone-N.X

Replace N and X with the following:

  • N: The milestone number (for this milestone it is 2)

  • X: The submission number (1 for the first time you turn it in, 2 if you resubmit, etc.)

Test Procedure#

In order to test your milestone I will run the following procedure. You should use this procedure if you want to be sure your milestone will be accepted.

  1. Clone your repository into a temporary directory and check out the milestone:

    $ git clone --depth 1 --branch tag_name repo_url
    
  2. Change to the mysite directory inside of your repository.

  3. Remove any SQLite files:

    $ rm -f *.sqlite3
    
  4. Apply Django migrations (to create a fresh DB)

    $ python3 ./manage.py migrate 
    
  5. Make an admin account:

    $ python3 manage.py createsuperuser 
    
  6. Run the server:

    $ python3 ./manage.py runserver 
    
  7. Login and look around

Turn In#

  1. Tag this milestone milestone-2.X

  2. A URL to your release. It should look like this:

https://github.com/your-name/your-cis-92-repo/releases/tag/milestone-2.1