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
-
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, runsource 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
#! /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 $@