Coding Dojo Belt Exam (Python/Django) - Travel Buddy Individual Belt Exam Project created 24 March 2018 and completed 25 March 2018
**19 November 18 Update - found bug that results in end date showing as the beginning date - will be fixed soon **
This is a Django/Python project designed, built, and deployed to cloud services over a period of 2 days.
-This application was built as part of a Coding Dojo belt exam culminating 2 months of material including HTML, CSS, JavaScript, jQuery, Ajax, Python, Flask, Django and the various ways of using these technologies to develop a modern day application. As the second belt exam we were given 48 hours to start and finsh an application including testing and deployment with the following requirements:
- Login and Registration with validations. Validation errors should appear on the page. Logout as well. Password should be at least 8 characters.
- Display the logged user's created/joined travel plans; also displays other users' travel plans. Display should be specific per user.
- Ability to join other users' travel plans. Once the logged user joins, the travel plan record should move to the Trip Schedule tables and be removed from the other trips table.
- Display of a particular travel plan which also indicates the list of users who joined that plan.
- Ability to add new travel plans. Validation applies. The newly added travel plan should appear on logged user's Trip schedule table.
- You must be able to deploy your work to Amazon EC2 and provide the IP address or subdomain/domain name to where your work has been deployed.
Choose login or register, to login in use username: "[email protected]" password: "1qazZAQ!", or register to create an account. After logging in or registering you will see all trips from eveyone with an account. You can choose to join a trip or create your own.
-
Python3.6.4 and MySQL were used for all back-end and data storage logic.
-
A Virtual Environment was used to manage all module and library dependencies.
-
CSS3 and HTML5 were used for initial form validation.
-
Bcrypt was used as a salt/hash algorithm to obsfuscate each user's password stored in MySQL.
-
Django, Nginx, and Gunicorn were used for server deployment, routing, and execution with data and template client-side service requests handled with Jinja2 and JavaScript.
-
The application is deployed on a AWS account for cloud services including Ubuntu configuration and management.
This web application may be viewed at: http://54.201.84.245
Current Maintainer:
- M. Andrew Williams
This project has been sponsored by: Coding Dojo