A professional Flutter web portfolio application showcasing Sultan Khan's skills, experience, and projects. Built with modern Flutter architecture and best practices.
- Responsive Design: Optimized for web, mobile, and tablet devices
- Modern UI/UX: Clean, professional design with smooth animations
- State Management: Built with Flutter Bloc for efficient state management
- Routing: Implemented with Go Router for seamless navigation
- Data Models: Well-structured data models with JSON serialization
- Contact Form: Interactive contact form with validation
- Skills Visualization: Visual representation of skill proficiency levels
- Project Showcase: Detailed project information with technologies used
- Home: Hero section with overview and quick stats
- About: Personal information, contact details, and education
- Experience: Work experience timeline with detailed responsibilities
- Projects: Project showcase with technologies and features
- Skills: Skills with proficiency levels and visual indicators
- Contact: Contact information and contact form
- Framework: Flutter 3.5+
- State Management: Flutter Bloc
- Routing: Go Router
- UI Components: Material Design 3
- Fonts: Google Fonts (Inter)
- Icons: Material Icons, Font Awesome
- Code Generation: JSON Serializable, Build Runner
flutter_bloc: ^8.1.4 - State managementequatable: ^2.0.5 - Value equalitygo_router: ^13.2.0 - Routinggoogle_fonts: ^6.1.0 - Typographyurl_launcher: ^6.2.4 - URL handlingfont_awesome_flutter: ^10.7.0 - Icons
build_runner: ^2.4.8 - Code generationjson_serializable: ^6.7.1 - JSON serializationflutter_lints: ^4.0.0 - Code linting
lib/
βββ blocs/ # State management
βββ models/ # Data models
βββ pages/ # UI pages
βββ services/ # Business logic
βββ utils/ # Utilities and constants
βββ widgets/ # Reusable widgets
βββ main.dart # App entry point
- PortfolioBloc: Manages portfolio data loading and state
- Events: LoadPortfolio
- States: PortfolioInitial, PortfolioLoading, PortfolioLoaded, PortfolioError
- PersonalInfo: Personal information and contact details
- Education: Educational background
- Experience: Work experience
- Skill: Skills with proficiency levels
- Project: Project information
- Certification: Professional certifications
- Flutter SDK 3.5.1 or higher
- Dart SDK 3.5.1 or higher
-
Clone the repository
git clone <repository-url> cd portfolio_flutter
-
Install dependencies
flutter pub get
-
Generate code
dart run build_runner build
-
Run the application
flutter run -d chrome
flutter build web- Firebase Hosting: Recommended for easy deployment
- Netlify: Great for static site hosting
- Vercel: Excellent for Flutter web apps
- GitHub Pages: Free hosting option
The app uses a consistent color scheme defined in lib/utils/app_theme.dart:
- Primary: Dark blue (#1E3A8A)
- Secondary: Light blue (#3B82F6)
- Background: Light grey (#F8FAFC)
- Surface: White (#FFFFFF)
Update the portfolio data in lib/services/portfolio_service.dart:
- Personal information
- Education details
- Work experience
- Skills and proficiency levels
- Projects and features
- Certifications
- Modify
lib/utils/app_theme.dartfor theme changes - Update fonts in
pubspec.yaml - Customize widgets in
lib/widgets/
- Lazy Loading: Images and data loaded on demand
- Optimized Builds: Efficient code generation and compilation
- Responsive Design: Optimized for all screen sizes
- Fast Navigation: Smooth page transitions
# Watch for changes and regenerate
dart run build_runner watch
# Clean and regenerate
dart run build_runner clean
dart run build_runner buildflutter testflutter analyzeThis project is licensed under the MIT License - see the LICENSE file for details.
Sultan Khan
- Senior Solution Developer
- Flutter & Full-Stack Developer
- Microsoft Azure Certified
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
- Email: sultan512@gmail.com
- LinkedIn: linkedin.com/in/sultan-khan-278014121
- GitHub: https://github.com/sultan18kh
- Location: Bedian Road, Lahore Cantt
Built with β€οΈ using Flutter