/Django-Rolla-Mission

Django website for CS 4096 (Spring 2020).

Primary LanguageCSS

The Rolla Mission Check-In Administrative Website

As part of the capstone computer science course at MS&T, a website was created for viewing and storing information gathered from the companion android app (https://github.com/Thomas-McKanna/The-Rolla-Mission-App). The website was created with the Django framework.


Technologies used:

  • Django framework
  • Hosting with AWS Lightsail
  • All images generated by the companion android app stored with AWS S3
  • Companion app communicates with the website via an API created with Django REST framework
  • Encryption with HTTPS

Setup

  • Download and install Postgres on your local machine. If prompted for a username, use "postgres". When prompted for the password, use "password". This is important in ensuring that the setting in Django are correct.

  • Either through the terminal (psql) or via a GUI, create a database named "mission".

  • Clone this repository to your computer.

  • Use python to pip install virtualenv on your machine. This will be used to create a virtual python environment from which to install all of the dependencies for the app, including Django. Once you have virtualenv installed, navigate to the project repository and run virtualenv venv -p python3. To activate the virtual environment, run source venv/bin/activate (note: this command will be different for Windows). You will need to activate this virtual environment any time you want to work on the project.

  • Run pip install -r requirements.txt to install all the necessary python dependencies.

  • Get a copy of the secrets folder from the maintainer of this repo and copy it into the repository. (Note: the secrets folder simply wraps the manage.py script and initializes key environment variables).

  • Run secret/manage.sh migrate

  • Run secret/manage.sh createsuperuser to make a user for logging into the admin interface. It doesn't really matter what the username and password are, but I suggest username "admin" and password "password".

  • Start the server with secret/manage.sh runserver

Sample secret script

#! /bin/bash

export AWS_ACCESS_KEY_ID=AK...DU
export AWS_SECRET_ACCESS_KEY=Y2...TY
export DJANGO_SECRET_KEY=o2...e5
export DB_PASSWORD=QB...Qr
python3 manage.py $@