Personal Website

HTML CSS Javascript Python Flask Docker Powershell

Project Summary

This website serves as a personal portfolio, showcasing personal and student projects, displaying a resume, and providing contact information. It is designed to be easily deployable and maintainable, ensuring accessibility across different hosting environments.


Architecture and Design

The website is built using HTML, CSS, and JavaScript for the frontend, with a Flask backend handling requests. It is containerized using Docker, allowing for seamless deployment across different servers. The architecture ensures flexibility and scalability while maintaining ease of deployment.

Technical Implementation

  • Frontend: Built with HTML, CSS, and JavaScript
  • Backend: Powered by Flask, handling requests and serving content dynamically.
  • Server Management:
    • Gunicorn acts as the entrypoint for the docker container, starting the flask server and defining the port it will run on
    • Flask serves the website by processing incoming HTTP requests and handling the routing.
    • NGINX manages the reverse proxy, routing incoming traffic to the appropriate port
  • Containerization & Deployment:
    • The entire project is containerized with Docker for portability
    • Docker Hub hosts the container image for easy deployment
    • A PowerShell Script automates the process of building, tagging, and pushing the Docker image to Docker Hub
powershell script