Dynamic Portfolio

A DB driven portfolio and blog site

PostgreSQL Django Docker EC2 GitHub Actions CI/CD

A database-driven portfolio and blog site that links frameworks, languages, and experiences

Written with pure Bootstrap for theming and responsiveness

DevOps best practices with Docker, CI/CD, and cloud hosting.


Repository: Dynamic Portfolio and Blog App: Github Repo


Motivation

I had a portfolio site before but I was tired of changing HTML content and wanted to have a more structured approach. For my portfolio site, I wanted to organize work experience, projects, blog posts, publications, and skills associated with a common set of programming languages and frameworks. For example, adding 'Django' into a portfolio project and then adding it again to another blog post about Django development. This design ensures that data is linked across multiple entities minimizing redundancy. It also facilitates finding related entity types through programming language matches. Django includes a built-in admin interface for inserting new data into these entities. I am currently using this project for my portfolio and plan to update various components regularly.

Features

  • Skills, Work Experiences, Projects, Publications all of these are database-driven
  • I have Dockerized the project
  • CI pipeline includes: Unit Testing, Lint Testing, CodeQL Security Scanning
  • CD pipeline includes deployment in staging and production environment   
  • Mostly used pure Bootstrap components for minimalistic and sleek design
  • CKEditor is used in the Django admin interface for writing the description field of projects and blog posts as rich text