The current version of Notejam is deployed as a monolith application, serving all technical content from the same source. The source code is written in Python v2.7 and backed by the Django web framework and the database used is a SQLite3 database embedded into the end program. The first step towards migrating the application to AWS is to break up the monolithic architecture and define the different components inside separate technical boundaries using AWS specific technologies.
The migration is done by defining the new architecture in a CloudFormation template and using the PaaS platform Elastic Beanstalk as the hosting platform for the application.
The current version of this project separates the main components of the Notejam application and builds an architecture more suitable for a cloud environment. The database is migrated, but as of right now not implemented in the CloudFormation template. It has to be created separately.
Notejam application implemented using Django framework.
Django version: 1.6
Clone the repo:
$ git clone [email protected]:komarserjio/notejam.git YOUR_PROJECT_DIR/
Use virtualenv or virtualenvwrapper for environment management.
Install dependencies:
$ cd YOUR_PROJECT_DIR/django/
$ pip install -r requirements.txt
Create database schema:
$ cd YOUR_PROJECT_DIR/django/notejam/
$ ./manage.py syncdb
$ ./manage.py migrate
Start django web server:
$ cd YOUR_PROJECT_DIR/django/notejam/
$ ./manage.py runserver
Go to http://127.0.0.1:8000/ in your browser.
Run functional and unit tests:
$ cd YOUR_PROJECT_DIR/django/notejam/
$ ./manage.py test
Do you have python/django experience? Help the app to follow python and django best practices.
Please send your pull requests in the master
branch.
Always prepend your commits with framework name:
Django: Implemented sign in functionality
Read contribution guide for details.