Personal Portfolio
Full Stack Project
Personal Portfolio
This portfolio website built with Flask, Python, and TDD methodology
Project Overview
Problem Statement
Professional developers need a compelling portfolio to showcase their work, skills, and experience. This portfolio demonstrates full-stack development capabilities, testing methodology, and modern DevOps practices while maintaining clean, maintainable code.
Key Features
- Multi-page Flask application with Blueprint routing
- Responsive design with Tailwind CSS
- 100% test coverage with 36 comprehensive tests
- Featured projects showcase with live demos
- Business and developer personas highlighting dual expertise
- Contact form with professional inquiry handling
- Dockerized deployment with automated CI/CD
- HTTPS with automatic SSL certificate management
Technical Implementation
Built using Flask application factory pattern with Blueprint-based routing for modularity. Implements comprehensive pytest test suite following TDD methodology. Uses Jinja2 templating with Tailwind CSS for responsive design. Deployed with Docker, GitHub Actions, and Watchtower for continuous deployment.
Backend
Python 3.13, Flask 3.0, Jinja2
Frontend
Tailwind CSS, Alpine.js, HTML5
Testing
pytest, pytest-cov, pytest-flask
DevOps
Docker, GitHub Actions, Caddy, Watchtower
Quality
pylint, black, 100% test coverage
Challenges & Solutions
Achieving 100% test coverage, implementing efficient CI/CD pipeline, managing multiple domain configurations with Caddy, and ensuring zero-downtime deployments. Addressed through comprehensive test strategy, proper Docker networking, and automated deployment workflows.
Results & Impact
Professional portfolio with 100% test coverage successfully deployed at theratoast.com. Automated CI/CD pipeline ensures all tests pass before deployment. Zero-downtime updates via Watchtower. Demonstrates both technical skills and professional presentation.