Skip to content

πŸš€ Modern Flutter portfolio app with dynamic phone viewport for web, dark/light themes, cross-platform support. Features responsive design, real email functionality, and professional UI/UX.

Notifications You must be signed in to change notification settings

apdo978/Protofolio_Flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Abdelrhman's Portfolio - Flutter Cross-Platform App

Flutter Dart EmailJS Web Android

A modern, responsive portfolio application built with Flutter, featuring a unique phone viewport for web and real email functionality

🌐 Live Demo β€’ πŸ“± Download APK β€’ πŸ“§ Contact


πŸ“± Project Overview

This is a comprehensive portfolio application showcasing modern Flutter development with cross-platform capabilities. The app features a unique dynamic phone viewport for web users, providing a mobile-first experience that adapts to any screen size.

🎯 Key Highlights

  • Cross-Platform: Runs on Web, Android, iOS, and Desktop
  • Responsive Design: Mobile-first with dynamic phone viewport for web
  • Real Email Integration: Contact forms with EmailJS and Arabic auto-replies
  • Modern UI/UX: Dark/Light mode with smooth animations
  • Professional Portfolio: Complete showcase of skills, projects, and experience

✨ Features

🎨 UI/UX Features

  • βœ… Dynamic Phone Viewport - Web users see a realistic phone mockup
  • βœ… Responsive Design - Adapts to all screen sizes
  • βœ… Dark/Light Mode - Toggle between themes
  • βœ… Smooth Animations - Professional animated text and transitions
  • βœ… Touch Gestures - Swipe navigation on web phone mockup
  • βœ… Modern Design - Clean, professional interface

πŸ“§ Email Integration

  • βœ… Real Email Functionality - Powered by EmailJS
  • βœ… Auto-Reply System - Automatic responses to clients
  • βœ… Arabic Email Templates - Professional bilingual communication
  • βœ… Form Validation - Complete input validation
  • βœ… Multiple Contact Methods - Email, WhatsApp, LinkedIn integration

πŸ“± Cross-Platform Support

  • βœ… Web Application - Deployed and accessible online
  • βœ… Android APK - Native mobile experience
  • βœ… iOS Ready - Configured for App Store deployment
  • βœ… Progressive Web App - PWA capabilities with offline support

πŸ› οΈ Tech Stack

Frontend

  • Flutter 3.9+ - Cross-platform UI framework
  • Dart - Programming language
  • Provider - State management for theming
  • Material Design - Google's design system

Animations & UI

  • animated_text_kit - Text animations
  • font_awesome_flutter - Icon library
  • Custom Widgets - Reusable component system

Backend Services

  • EmailJS - Email service integration
  • HTTP - API communication
  • URL Launcher - External link handling

Audio & Media

  • AudioPlayers - Sound effects and music

πŸ“‹ App Screens

Screen Description Features
🏠 Home Landing page with introduction Animated text, theme toggle, navigation
πŸ‘¨β€πŸ’» About Personal information and background Professional summary, experience overview
πŸ› οΈ Skills Technical skills showcase Categorized skill sets, proficiency levels
πŸš€ Projects Portfolio projects gallery Project showcases, live demos, source code
πŸ’Ό Experience Work history and achievements Timeline, company details, responsibilities
πŸ“ž Contact Contact information and social links Multiple contact methods, social media
πŸ’Ό Hire Me Project inquiry form EmailJS integration, detailed project forms

πŸš€ Quick Start

Prerequisites

Flutter SDK 3.9+
Dart SDK 2.19+
Android Studio / VS Code
Git

Installation

# Clone the repository
git clone https://github.com/yourusername/flutter-portfolio.git

# Navigate to project directory
cd flutter-portfolio

# Install dependencies
flutter pub get

# Run the app
flutter run

Building for Production

# Build for Web
flutter build web --release

# Build for Android
flutter build apk --release

# Build for iOS
flutter build ios --release

🌐 Deployment

Web Deployment

The app is optimized for various hosting platforms:

  • Netlify - Recommended for auto-deployment
  • Vercel - Great performance and custom domains
  • GitHub Pages - Free hosting with GitHub integration
  • Firebase Hosting - Google Cloud with analytics

Mobile Deployment

  • Google Play Store - Android distribution
  • Apple App Store - iOS distribution
  • Direct APK - Direct download for Android users

πŸ“§ EmailJS Setup

The app includes real email functionality. To set up:

  1. Create an EmailJS account
  2. Configure email service (Gmail recommended)
  3. Create email templates
  4. Update credentials in lib/Screens/hire_me.dart

See EMAILJS_SETUP.md for detailed instructions


🎨 Dynamic Phone Viewport

Unique Web Feature

The app features a revolutionary dynamic phone viewport for web users:

  • Realistic Phone Mockup - iPhone-style frame with status bar
  • Dynamic Sizing - Adapts to any screen size
  • Touch Gestures - Swipe navigation
  • Professional Presentation - Perfect for showcasing to clients

Responsive Behavior

// Automatically detects platform
if (kIsWeb) {
  // Show phone viewport wrapper
  return PhoneViewportWrapper(child: YourScreen());
} else {
  // Show native mobile layout
  return YourScreen();
}

🎯 Key Components

1. Theme System

// Complete dark/light mode implementation
class ThemeProvider extends ChangeNotifier {
  bool _isDarkMode = false;
  
  void toggleTheme() {
    _isDarkMode = !_isDarkMode;
    updateColors(_isDarkMode);
    notifyListeners();
  }
}

2. Phone Viewport Wrapper

// Dynamic web phone mockup
class PhoneViewportWrapper extends StatelessWidget {
  final Widget child;
  
  // Adapts to screen size and provides phone-like experience
}

3. EmailJS Integration

// Real email functionality
static const String _serviceId = 'YOUR_SERVICE_ID';
static const String _templateId = 'YOUR_TEMPLATE_ID';
static const String _publicKey = 'YOUR_PUBLIC_KEY';

πŸ“Š Project Statistics

  • 7 Complete Screens - Full portfolio coverage
  • 50+ Custom Widgets - Reusable component library
  • Dark/Light Themes - Complete theming system
  • Multi-Language Support - English and Arabic emails
  • Cross-Platform - Web, Android, iOS, Desktop ready
  • Production Ready - Optimized builds and deployment

πŸŽ‰ Live Demo

Try It Now!

  • 🌐 Web Version: https://your-portfolio-url.com
  • πŸ“± Mobile App: Download APK
  • πŸ“§ Contact Form: Test the real email functionality
  • πŸŒ™ Dark Mode: Toggle between light and dark themes
  • πŸ“± Phone Mockup: Experience the unique web phone viewport

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

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


πŸ“ž Contact

Abdelrhman Muhamed - Full Stack Developer


πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • EmailJS for reliable email services
  • Font Awesome for beautiful icons
  • Material Design for the design system
  • The Flutter community for inspiration and support

⭐ Star this repo if you found it helpful!

Made with ❀️ by Abdelrhman Muhamed

About

πŸš€ Modern Flutter portfolio app with dynamic phone viewport for web, dark/light themes, cross-platform support. Features responsive design, real email functionality, and professional UI/UX.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published