Skip to content

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

Notifications You must be signed in to change notification settings

Swappy514/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀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!

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published