Skip to content

ahsxndev/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§‘β€πŸ’» MyFolio - Flutter Portfolio App

A modern, minimalist, and highly customizable Flutter portfolio website/application to showcase your skills, projects, and professional journey. Designed for fast setup and easy editingβ€”even if you're not a Flutter developer!

Flutter Dart License

banner1 banner1

Open Source Love svg1 GitHub Forks GitHub Issues Contributions Welcome


πŸ§‘β€πŸ’» MyFolio

A portfolio website for developers built using Flutter. Includes:

  • Home
  • About
  • Services
  • Projects (Portfolio)
  • Contact

✨ Features

  • πŸ–₯️ Modern, clean, and minimalist UI
  • πŸ“± Responsive for mobile, tablet, desktop, and web
  • πŸ’¨ Smooth animations & transitions
  • πŸ› οΈ Easy to customize: just edit config files!
  • πŸ“¦ Cross-platform: Android, iOS, Web, Windows, macOS, Linux
  • ⚑ SEO optimized for web
  • πŸ”— Social media & email/WhatsApp integration
  • πŸ§‘β€πŸ’Ό Business ready: contact forms, service detail modals, project showcase

πŸ”— Useful links

🌐 Website: https://ahsanzaman.dev
πŸ“± Android APK: Direct Download
πŸ™ GitHub: ahsxndev/myfolio

πŸ—οΈ Quick Setup

  1. Clone the repository

    git clone https://github.com/ahsxndev/Portfolio.git
    cd Portfolio
  2. Install dependencies

    flutter pub get
  3. Run the app

    flutter run
  4. Customize config files

    • lib/core/config/user_info_config.dart β€” your info
    • lib/core/config/projects_config.dart β€” your projects
    • lib/core/config/social_links_config.dart β€” your socials

βš™οΈ Customization

  • Personal Info: Edit your name, job title, email, phone in user_info_config.dart
  • Projects: Add/edit projects in projects_config.dart
  • Social Links: Update your social profiles in social_links_config.dart
  • Images: Replace profile and project images in assets/images/

πŸ“§ EmailJS Setup (Contact Form)

This portfolio includes a contact form that sends emails via EmailJS. Follow these steps to set up email functionality:

1️⃣ Create an EmailJS Account

  • Go to emailjs.com and sign up for a free account
  • Verify your email

2️⃣ Create an Email Service

  • In the EmailJS Dashboard, go to Email Services (left sidebar)
  • Click Create New Service
  • Choose your provider (Gmail, Outlook, etc.)
  • Follow the setup wizard and Save
  • Copy your Service ID (looks like service_xxxxx)

3️⃣ Create an Email Template

  • Go to Email Templates (left sidebar)
  • Click Create New Template
  • Use this template structure:
<h2>New Portfolio Contact</h2>

<p><strong>From:</strong> {{name}} ({{email}})</p>
<p><strong>Service:</strong> {{service_type}}</p>

<h3>Message:</h3>
<p>{{message}}</p>

<hr>
<p><em>This message was sent from your portfolio website.</em></p>
  • Set To Email to {{to_email}} or your actual email
  • Set Reply-To to {{email}} (so you can reply directly to the sender)
  • Click Save
  • Copy your Template ID (looks like template_xxxxx)

4️⃣ Get Your API Keys

  • Go to Account (left sidebar) β†’ API Keys
  • Copy:
    • Public Key (User ID)
    • Private Key (Access Token)

5️⃣ Update Configuration

Edit lib/core/config/emailjs_config.dart:

class EmailJSConfig {
  static const String serviceId = 'service_xxxxx';      // Your Service ID
  static const String templateId = 'template_xxxxx';    // Your Template ID
  static const String userId = 'YOUR_PUBLIC_KEY';       // Your Public Key
  static const String privateKey = 'YOUR_PRIVATE_KEY';  // Your Private Key
}

⚠️ Security Note: Keep your private key secure! Don't commit it to a public GitHub repository.

6️⃣ Test the Contact Form

  • Run the app: flutter run
  • Go to the Contact section
  • Fill in the form and send
  • Check your email!

Troubleshooting

Error Solution
403 - API calls disabled Ensure you have the correct Private Key in emailjs_config.dart
400 - Parameters invalid Check that template variable names match (use {{name}}, {{email}}, {{message}})
Email not received Verify your Service ID and Template ID are correct

⚑ Deployment

  • Web: flutter build web --release
  • Android: flutter build apk --release
  • iOS: flutter build ios --release

Deploy web app to GitHub Pages or Firebase Hosting easily!

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

Pull requests, issues, and suggestions are welcome!
Fork, star, and contribute your awesome ideas.


πŸ™ Acknowledgments

  • Flutter team
  • Font Awesome
  • Google Fonts
  • All open-source contributors

πŸ‘€ Author & Contact

Ahsan Zaman

GitHub LinkedIn Email


🌟 If you found this project helpful, please give it a star! ⭐

Made with πŸ’™ using Flutter