Portfolio Website

A dynamic website for displaying portfolio projects made from scratch with Flask, Django, and Bootstrap.

picture of portfolio project
August 2023 - September 2023

After creating a simple blog website through the online course 100 Days of Code, taught by Dr. Angela Yu, I was inspired to make a portfolio website from scratch. Using Flask I made the website multiple pages, implemented a login system for an admin account, and linked a database to the website.

To navigate the multiple pages I made a base html file for the navbar which was extended to all of the other html files making the code much cleaner.

Instead of hardcoding the descriptions for all of my projects, I made the website dynamic and linked a database so I could make, edit, and delete project descriptions from the website. To ensure I am the only one making changes to the website, I implemented a login system so "Make Post" in the navbar, as well as "Edit Post" and "Delete Post" would only be visible to the logged in admin account. I also used a wrapper function so the urls to admin only pages are only accessible when logged in. As an extra layer of security, I protected the admin account password with an imported hashing algorithm.

Admin view of an example project description.

For making and editing descriptions I took advantage of CKeditor. Connecting the website to a database to write to has made quick edits and new project description additions from the website possible.

Editing view example