Skip to content

RonitRudra/Wedding-Roll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JANE AND JOE'S WEDDING ALBUM

This Repo is a Simple Online Wedding Album Project

Features Include:

  • Minimalistic UI
  • User Signup and Login
  • Uploading Images To Gallery
  • Owners (in this case Jane and Joe) Approve Uploads Before They are Visible
  • Like/Unlike an Uploaded Image.
  • Sort Images in Ascending or Descending Order By Number of Likes or Date Posted.
  • 3 User Types: User, Owner and Admin

The Technology Stack I Used:

  • Python 3
  • Django 2.0 as the Application Server
  • HTML
  • CSS
  • AJAX
  • AWS S3 for serving user uploaded files
  • PostgreSQL for the database
  • Gunicorn as the Gateway Server
  • NGINX as the Web Server/Reverse Proxy
  • Separated Configuration from Source using Python-Decouple

The Application is Deployed on a Digital Ocean Droplet running Ubuntu 16.04 and available at http://178.128.147.79 (for now)

Followed a TDD Approach writing Functional and Unit Tests.

NOTE: Config files under config are not committed to VC

  • config
    • requirements.txt (contains required python modules)
    • development.env (x contains configuration for development)
    • production.env (x contains configuration for production)

The development.env requires the following keys:

  • AWS_STORAGE_BUCKET_NAME=ronitrudra
  • AWS_S3_REGION_NAME=
  • AWS_ACCESS_KEY_ID=
  • AWS_SECRET_ACCESS_KEY=
  • SECRET_KEY=
  • DEBUG=True

The production.env requires the following keys:

  • AWS_STORAGE_BUCKET_NAME=ronitrudra
  • AWS_S3_REGION_NAME=
  • AWS_ACCESS_KEY_ID=
  • AWS_SECRET_ACCESS_KEY=
  • SECRET_KEY=
  • DEBUG=False
  • ALLOWED_HOSTS=178.128.147.79,
  • DB_ENGINE=django.db.backends.postgresql_psycopg2
  • DB_NAME=
  • DB_USER=
  • DB_PASSWORD=
  • DB_HOST=
  • DB_PORT=5432

Also note that manage.py uses the development setting as default while wsgi.py uses production setting.