{"id":29945227,"url":"https://github.com/swappy514/portfolio","last_synced_at":"2026-04-13T13:01:56.407Z","repository":{"id":307783658,"uuid":"1029847221","full_name":"Swappy514/Portfolio","owner":"Swappy514","description":"A modern, responsive portfolio built with Flask \u0026 Bootstrap — filterable projects, dynamic markdown blogs, animated hero, dark mode, and more.","archived":false,"fork":false,"pushed_at":"2025-08-02T06:01:17.000Z","size":10119,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-02T08:55:17.377Z","etag":null,"topics":["animation","aos","blog","bootstrap","darkmode","flask","font-awesome","fullstack","github-pages","markdown","personal-website","portfolio","portfolio-website","python","responsive","web-development"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swappy514.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-31T17:05:31.000Z","updated_at":"2025-08-02T06:12:10.000Z","dependencies_parsed_at":"2025-08-02T09:05:24.531Z","dependency_job_id":null,"html_url":"https://github.com/Swappy514/Portfolio","commit_stats":null,"previous_names":["swappy514/portfolio"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Swappy514/Portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swappy514%2FPortfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swappy514%2FPortfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swappy514%2FPortfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swappy514%2FPortfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swappy514","download_url":"https://codeload.github.com/Swappy514/Portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swappy514%2FPortfolio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31753551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","aos","blog","bootstrap","darkmode","flask","font-awesome","fullstack","github-pages","markdown","personal-website","portfolio","portfolio-website","python","responsive","web-development"],"created_at":"2025-08-03T05:01:05.148Z","updated_at":"2026-04-13T13:01:56.389Z","avatar_url":"https://github.com/Swappy514.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"**🚀Swaroop — Full Stack Web Developer Portfolio**\n\nA 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!✨🌐\n\n\u003chr/\u003e\n\n**✨ Features**\n- 📱 Responsive design (Bootstrap, custom CSS) — looks great on desktop and mobile\n- 🌙 Dark/Bright Mode Toggle (with persistence)\n- 🎯 Hero section with animated typewriter effect and gradient border CV download button\n- 👨💻 About Me section with image and highlights\n- 🏗️ Filterable Projects grid (category filter, hover overlay, one-click GitHub open)\n- 🧰 Skills panel (Font Awesome icons)\n- 🎓 Education \u0026 Certifications (tabbed, links to certificate credentials)\n- 📝 Dynamic Blogs powered by Markdown files (just drop a .md file in /blogs/ to add a post)\n- ✉️ Contact form (with Flask mail backend — auto-emails you new messages)\n- 🛑 Custom 404 error page\n\n\u003chr/\u003e\n\n**🗂️ Project Structure**\n```\nproject/\n│\n├── app.py                        # Flask application (backend)\n├── requirements.txt              # Dependencies\n├── Procfile                      # (if deploying to Heroku)\n├── .env                          # (ignored) for local secrets/environment\n│\n├── templates/                    # HTML templates (base, index, blogs, blog_detail, 404, partials)\n├── static/\n│   ├── styles/main.css           # Custom CSS\n│   ├── js/main.js                # Custom JS\n│   ├── images/                   # All site images\n│   └── assets/Swaroop-CV.pdf     # Downloadable CV for hero section\n│\n├── blogs/                        # Markdown blog posts (use front-matter)\n└── README.md                     # This file\n```\n\n\u003chr/\u003e\n\n**🚀 Getting Started Locally**\n\n**1) Clone the repository**\n\n```\n  git clone https://github.com/your-username/your-portfolio-repo.git\n  cd your-portfolio-repo\n```\n**2) Install required packages**\n\n  Create a virtual environment (recommended):\n```\n  python -m venv venv\n  source venv/bin/activate  # On Windows: venv\\Scripts\\activate\n```\n  Install dependencies:\n```\n  pip install -r requirements.txt\n```\n**3) Set environment variables**\n\n  Create a .env file (or export via shell) for secrets and email credentials:\n\n```\n  FLASK_SECRET_KEY=your-random-key\n  EMAIL_ADDRESS=youremail@example.com\n  EMAIL_PASSWORD=yourpassword-or-appkey\n  RECEIVER_EMAIL=youremail@example.com\n  SMTP_SERVER=smtp.gmail.com\n  SMTP_PORT=587\n```\n\n**4) Run the app**\n\n```\n  flask run\n```\n  or\n\n```\n  python app.py\n```\n\n**5) Visit your site**\n```\nOpen http://localhost:5000 in your browser.\n```\n\n\u003chr/\u003e\n\n**✍️ Adding Blog Posts**\n\nCreate a new Markdown file in /blogs/ with this header:\n```\n---\n  title: \"Awesome Demo Post\"\n  date: \"2025-07-29\"\n  summary: \"A summary displayed on the blog card.\"\n  image: \"/static/images/blog-image.jpg\"\n  external_url: \"https://your-external-link.com\"   # Optional, for Google Docs/Medium etc.\n---\nYour blog content (Markdown supported)\n```\n\nFor blogs on Google, just add the external_url field—the \"Read More\" button will link out.\n\n\u003chr/\u003e\n\n**🎨 Credits**\n\n- 🚀 Bootstrap\n- 🐍 Flask\n- ⚡ Font Awesome \n- 👀 AOS Animate on Scroll\n- ✍️ Markdown, PyYAML\n\n\u003chr/\u003e\n\n**🔒 License**\n\n  MIT License, free for all personal use \u0026 learning\n\n  © 2025 Swaroop\n\n\u003chr/\u003e\n\nFeel free to modify this file with your own links, branding, and deployment notes!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswappy514%2Fportfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswappy514%2Fportfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswappy514%2Fportfolio/lists"}