North Rose Devs website: Difference between revisions
Jump to navigation
Jump to search
| Line 43: | Line 43: | ||
=== Production === | === Production === | ||
See [[Deploying a Django app on AWS]]. | |||
Make sure to register all relevant environment variables in the environment. | |||
Some 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 == | == Technologies == | ||
Revision as of 04:27, 22 March 2020
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 masterbefore working. - Create branch locally:
git co -b feature/T0###] - Commit changes after they are finished.
- Merge with
master:git co mastergit 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
localhostis listed underALLOWED_HOSTSinsettings.py.
(And make sure that thatlocalhostis NOT listed underALLOWED_HOSTSin 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 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 onlittledamienii- 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
$ 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