An open API service indexing awesome lists of open source software.

https://github.com/swappy514/portfolio

A modern, responsive portfolio built with Flask & Bootstrap β€” filterable projects, dynamic markdown blogs, animated hero, dark mode, and more.
https://github.com/swappy514/portfolio

animation aos blog bootstrap darkmode flask font-awesome fullstack github-pages markdown personal-website portfolio portfolio-website python responsive web-development

Last synced: 2 months ago
JSON representation

A modern, responsive portfolio built with Flask & Bootstrap β€” filterable projects, dynamic markdown blogs, animated hero, dark mode, and more.

Awesome Lists containing this project

README

          

**πŸš€Swaroop β€” Full Stack Web Developer Portfolio**

A modern, dynamic personal portfolio built with **Flask, Bootstrap, and dynamic Markdown-based blog engine, showcasing projects, skills, education, certifications**, and more. Responsive, animated, and ready for job seekers or freelancers!✨🌐


**✨ Features**
- πŸ“± Responsive design (Bootstrap, custom CSS) β€” looks great on desktop and mobile
- πŸŒ™ Dark/Bright Mode Toggle (with persistence)
- 🎯 Hero section with animated typewriter effect and gradient border CV download button
- πŸ‘¨πŸ’» About Me section with image and highlights
- πŸ—οΈ Filterable Projects grid (category filter, hover overlay, one-click GitHub open)
- 🧰 Skills panel (Font Awesome icons)
- πŸŽ“ Education & Certifications (tabbed, links to certificate credentials)
- πŸ“ Dynamic Blogs powered by Markdown files (just drop a .md file in /blogs/ to add a post)
- βœ‰οΈ Contact form (with Flask mail backend β€” auto-emails you new messages)
- πŸ›‘ Custom 404 error page


**πŸ—‚οΈ Project Structure**
```
project/
β”‚
β”œβ”€β”€ app.py # Flask application (backend)
β”œβ”€β”€ requirements.txt # Dependencies
β”œβ”€β”€ Procfile # (if deploying to Heroku)
β”œβ”€β”€ .env # (ignored) for local secrets/environment
β”‚
β”œβ”€β”€ templates/ # HTML templates (base, index, blogs, blog_detail, 404, partials)
β”œβ”€β”€ static/
β”‚ β”œβ”€β”€ styles/main.css # Custom CSS
β”‚ β”œβ”€β”€ js/main.js # Custom JS
β”‚ β”œβ”€β”€ images/ # All site images
β”‚ └── assets/Swaroop-CV.pdf # Downloadable CV for hero section
β”‚
β”œβ”€β”€ blogs/ # Markdown blog posts (use front-matter)
└── README.md # This file
```


**πŸš€ Getting Started Locally**

**1) Clone the repository**

```
git clone https://github.com/your-username/your-portfolio-repo.git
cd your-portfolio-repo
```
**2) Install required packages**

Create a virtual environment (recommended):
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
Install dependencies:
```
pip install -r requirements.txt
```
**3) Set environment variables**

Create a .env file (or export via shell) for secrets and email credentials:

```
FLASK_SECRET_KEY=your-random-key
EMAIL_ADDRESS=youremail@example.com
EMAIL_PASSWORD=yourpassword-or-appkey
RECEIVER_EMAIL=youremail@example.com
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
```

**4) Run the app**

```
flask run
```
or

```
python app.py
```

**5) Visit your site**
```
Open http://localhost:5000 in your browser.
```


**✍️ Adding Blog Posts**

Create a new Markdown file in /blogs/ with this header:
```
---
title: "Awesome Demo Post"
date: "2025-07-29"
summary: "A summary displayed on the blog card."
image: "/static/images/blog-image.jpg"
external_url: "https://your-external-link.com" # Optional, for Google Docs/Medium etc.
---
Your blog content (Markdown supported)
```

For blogs on Google, just add the external_url fieldβ€”the "Read More" button will link out.


**🎨 Credits**

- πŸš€ Bootstrap
- 🐍 Flask
- ⚑ Font Awesome
- πŸ‘€ AOS Animate on Scroll
- ✍️ Markdown, PyYAML


**πŸ”’ License**

MIT License, free for all personal use & learning

Β© 2025 Swaroop


Feel free to modify this file with your own links, branding, and deployment notes!