RuleOf72 is a finance education website for anyone to create a topic that they are knowledgeable about. Users are also able to have discussions on any topic that they are enthusiatic about. Please visit the live site here
- User: customerb
- Password: 12345678!
- User: LZX
- Password: seehorse1993!
- To Embed a video for a topic, please go to youtube, select a video to embed, click on "Share" and copy the embeded link. This is due to the constrains of cloudinary as they have a set 100mb storage capability.
- For testing, please paste https://www.youtube.com/embed/v6j8ewrcxd8 this link into the video field.
- As the owner, I want to build an ecosystem so that users can learn about any financial topic there is.
- As the owner, I want to build up a reputation to be the website with the highest quantity and quality educational content pertaining finance.
- As the owner, I want people to embrace finance and take control of their own finances as I believe the best investment anyone can make is their own education.
- As the teacher of a financial topic, I want my students to have the best experience and useablity when it comes to UIUX as this will encourage my students to stay on the site longer.
- As the teacher, I want to be able to present my knowledge in a structured manner so that students will no be overwhelmed by information.
- As the teacher, I want to teach on a website that has alot of visitors as that will boost my earnings.
- As a student, I want to study on a website that is easy to use so that I can retain my attention span for a longer period of time.
- As a student, I want to be on a website that provides a wide array of lessons to choose from.
- As a student, I want to be able to engage in meaningful discussions after a topic so that I can retain the most information and also helps to cement my understanding on the topic.
- Register
- Login
- Logout
- Create Lessons
- Update Lessons
- Delete Lessons
- View all created Lessons
- View all purchased Lessons
- Search for a Lesson by title
- Create sub topics
- Update sub topics
- Delete sub topics
- Create a discussion
- Update a discussion
- Delete a discussion
- Search for a discussion by title
- Create a comment
- Update a comment
- Delete a comment
- Login/Register with social media sites
- Filter search results and sort by price or date listed
- Wishlist for users to add in sortlisted listings
- Annotations of video lectures
- Sending confirmation emails
- Voting system for Lessons and Forum comments
Wireframes can be found here
As this is a finance related website, I chose darker colors to represent professionalism and I chose a lighter shade of blue to give users a slightly casual and less pressured feeling. There is no fancy font as I want to present a readable website. The logo used is 72/? because the rule of 72 is a known equation that helps to calculate the number of years required to double your investment. So for example, if your returns is 6%, 72/6 would be 12. Which means that it would take you 12 years to double your investment.
- HTML
- CSS
- Javascript
- JQuery to simplify DOM manipulation
- Bootstrap version 4.5 for flex boxes, color schemes and navbar
- GitHub for version control
- Jinja2 for template displaying
- django-crispy-forms for more aesthetically pleasing forms
- Stripe for payment handling
- Heroku for website hosting
- Cloudinary for image uploading
- Django for the key essential features such as routing, validation of forms and implementing key functions of the webpage.
- Django-allauth to provide basic security and privacy features and to enable an account login system.
- Python-dotenv to prevents senstive information from being uploaded to github
- SQLite3 for test development
- dj_database_url for heroku development and deployment
ER diagram can be found here Logic Schema can be found here
A detailed testing file can be found here
This website is deployed on Heroku. The URL for the deployed website is https://ruleof72zx.herokuapp.com/
- Download or Clone the master branch from github
- To list all the requirements in requirements.txt, run the following command in terminal:
pip3 freeze --local > requirements.txt
- Set Debug to False in settings.py of main project app.
- Procfile need to be created to run gunicorn upon deployment
- Git push to Heroku Master after all the documents are properly set up
- All public keys and private keys for the following need to be added to in Heroku Config Vars settings:
- Cloudinary API key
- Cloudinary API Secret
- Cloudinary Cloud Name
- Database URL
- Stripe Endpoint Secret
- Stripe Publishable Key
- Stripe Secret Key
- Secret Key
- Google and Unsplash for images
- LogoMakr for logo
- Favicon.io for favicon conversion