North Rose Devs website

From Littledamien Wiki
Jump to navigation Jump to search

Overview

Documentation of the configuration and technologies of the North Rose website.

Goals

  • Host the site on AWS.
  • A portfolio of web development work built with python/Django.
  • An invoicing system. Currently this is built with Symfony, but ultimately it should be integrated with the rest of the site, restricted to admin-level access.

Deployment

See Deploying a Django app on AWS

Local development platform

Getting the latest code

  • Always do: git pull origin master before working.
  • Create branch locally: git co -b feature/T0###]
  • Commit changes after they are finished.
  • Merge with master:
    • git co master
    • git merge feature/T0###
  • Push to GitHub: git push origin master

Running the app

  • Make sure to load the virtual environment for the project.
  • Make sure localhost is listed under ALLOWED_HOSTS in settings.py.
    (And make sure that that localhost is NOT listed under ALLOWED_HOSTS in the production environment.)
  • Run the project in PyCharm (python manage.py runserver 127.0.0.1:8000)
  • Connect to the site in a browser: http://localhost:8000 or http://127.0.0.1:8000

Syncing between machines

See Wiki on Sharing Git Branches on Different Workstations

Staging

TK

Production

See Deploying a Django app on AWS.

Make sure to register all relevant environment variables in the environment.

Some global variables are defined in the local .ebextensions/02-python.config file. Variables holding sensitive information have their names registered via .ebextensions without the associated values. Other more sensitive variables are left out entirely.

Technologies

Platforms & packages

Python

  • python 3
  • TODO: determine the exact minimum version. I think it's 3.4.x at this point.

Django

  • Minimum version: 1.8.7
Grappelli
  • Minimum version: 2.7.2
  • Upgrade with pip install -U django-grappelli

Custom package dependencies

  • Contact Info
    • Package that manages individual people's contact information.
    • This is a stand-alone PyCharm project that can be added to other applications-level projects.
    • e.g. [DEV_ROOT]\django\django-contact-info

Development platforms

IDE

  • PyCharm

Database

  • PostgreSQL
  • Local development database is located on littledamienii
  • Local development database is located on the same individual machines running development web servers.
  • Consider moving PostgreSQL database to shared servers (e.g. DS916) if feasible

Version control

North Rose on GitHub

$ git remote add origin https://github.com/dbarchowsky/north-rose.git
$ git push origin master

Hosting

Amazon AWS

  • Elastic Beanstalk - Web server processes and environment
  • Amazon RDS - PostgreSQL database
  • Amazon S3 - file system storage

Notes

See also

References