The site has been taken down as a result of covid-19 and facebooks new roommate features in marketplace.
RoomScout is a one stop shop for finding and managing roommates
- Download repo
- Install pip requirements using
pip install -r requirements.txt
- Setup environment variables
- Start django local server using
python manage.py runserver
Settings for the application are now loaded from environment variables even in development environment, you can also use a local_settings.py file to load settings easier. An example of this file format is in Resources folder
SECRET_KEY : Required
GOOGLE_API_KEY : Optional for google maps
RECAPTCHA_PUBLIC_KEY : Optional for captcha
RECAPTCHA_PRIVATE_KEY : Optional for captcha
AWS_ACCESS_KEY_ID : Optional for S3 Storage and Rekognition
AWS_SECRET_ACCESS_KEY : Optional for S3 Storage and Rekognition
WALK_SCORE_API : Optional for Walk Score
EMAIL_HOST : Optional for email
EMAIL_HOST_USER : Optional for email
EMAIL_HOST_PASSWORD : Optional for email
STRIPE_KEY : Optional for stripe transactions
STRIPE_SECRET_KEY : Optional for stripe transactions
https://roomscout.ca
Deploys directly to production upon commit
https://roomscout-dev.herokuapp.com
Deploys directly to development server
Any other branch should be a feature branch
All feature branches should make pull requests into dev and then once approved the dev branch will be merged to master
All code that is pushed should have tests included for it, if tests are not present it is something that can be done by anyone
This is the basic format that tests for views should follow
def test_FUNCTION_get(self):
print('Testing FUNCTION() GET')
self.client.force_login(self.user)
def test_FUNCTION_get_not_logged_in(self):
print('Testing FUNCTION() GET not logged in')
self.client.logout()
def test_FUNCTION_get_wrong_user(self):
print('Testing FUNCTION() GET wrong user')
self.client.force_login(self.user2)
def test_FUNCTION_post(self):
print('Testing FUNCTION() POST')
self.client.force_login(self.user)
def test_FUNCTION_post_not_logged_in(self):
print('Testing FUNCTION() POST not logged in')
self.client.logout()
def test_FUNCTION_post_wrong_user(self):
print('Testing FUNCTION() POST wrong user}')
self.client.force_login(self.user2)