A comprehensive Flutter mobile application designed to help newly graduated students navigate their career journey. The app provides tools for skill development, job searching, resume building, and professional networking.
- Preloader & Onboarding: Beautiful animated preloader and onboarding experience
- User Authentication: Secure registration and login with Supabase backend
- Profile Management: Complete user profile with photo upload capability
- Dashboard: Comprehensive dashboard with quick actions and progress tracking
- Skills Development: Skills assessment and learning path recommendations
- Job Search: Curated job opportunities for graduates
- Resume Builder: Professional resume creation tools
- Modern Design: Clean, intuitive interface with Material Design 3
- Smooth Animations: Flutter Animate for engaging user interactions
- Responsive Layout: Optimized for various screen sizes
- Asset Integration: Properly integrated preloader and page assets
- Google Fonts: Beautiful typography with Poppins font family
- Animated preloader with cycling images
- Multi-step onboarding with beautiful illustrations
- Smooth transitions and progress indicators
- Modern login screen with validation
- Comprehensive registration form
- Profile photo upload functionality
- Password visibility toggle
- Quick action cards for main features
- Recent activity feed
- Progress statistics
- Bottom navigation with 4 main sections
- Flutter SDK (3.0.0 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio / VS Code
- Android/iOS device or emulator
-
Clone the repository
git clone <repository-url> cd newly_graduate_hub
-
Install dependencies
flutter pub get
-
Configure Supabase
- Create a Supabase project at supabase.com
- Get your project URL and anon key
- Update
lib/services/supabase_service.dart:static const String _supabaseUrl = 'YOUR_SUPABASE_URL'; static const String _supabaseAnonKey = 'YOUR_SUPABASE_ANON_KEY';
-
Set up Supabase Database Create the following table in your Supabase database:
CREATE TABLE profiles ( id UUID REFERENCES auth.users(id) PRIMARY KEY, email TEXT, name TEXT, phone TEXT, gender TEXT, university TEXT, graduation_year TEXT, course TEXT, avatar_url TEXT, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() );
-
Set up Supabase Storage
- Create a storage bucket named
avatars - Set up storage policies for profile images
- Create a storage bucket named
-
Run the application
flutter run
lib/
├── main.dart # App entry point
├── screens/
│ ├── preloader_screen.dart # Animated preloader
│ ├── onboarding_screen.dart # Multi-step onboarding
│ ├── login_screen.dart # User login
│ ├── register_screen.dart # User registration
│ └── home_screen.dart # Main dashboard
└── services/
└── supabase_service.dart # Backend integration
preloader assets/Preloader1 (1).pngpreloader assets/Preloader2 (1).pngpreloader assets/Preloader3 (1).pngpreloader assets/Preloader4 (1).pngpreloader assets/Charco Education.pngpreloader assets/Fresh Folk Teaching.pngpreloader assets/Happy Bunch Chat.pngpreloader assets/Olá Playing Video Games.png
pages assets/login (1).pngpages assets/UserCircle.pngpages assets/Resume Buider (1).pngpages assets/Skills.pngpages assets/job task.pngpages assets/updates.pngpages assets/Me.png- And many more...
flutter: Flutter SDKsupabase_flutter: Backend as a Serviceshared_preferences: Local data storageimage_picker: Image selection and captureprovider: State management
flutter_animate: Smooth animationsgoogle_fonts: Beautiful typographycached_network_image: Image cachingflutter_svg: SVG supportlottie: Lottie animations
http: HTTP requestsintl: Internationalizationurl_launcher: External link handlingfile_picker: File selection
- Authentication: User registration and login
- Database: User profiles and data storage
- Storage: Profile image uploads
- Real-time: Live data updates
profiles (
id UUID PRIMARY KEY,
email TEXT,
name TEXT,
phone TEXT,
gender TEXT,
university TEXT,
graduation_year TEXT,
course TEXT,
avatar_url TEXT,
created_at TIMESTAMP,
updated_at TIMESTAMP
)- Follows Flutter best practices
- Uses Google Fonts for consistent typography
- Implements Material Design 3 principles
- Proper error handling and loading states
- Provider pattern for state management
- Local state for UI components
- Supabase for backend state
- Named routes for clean navigation
- Proper back navigation handling
- Route guards for authenticated sections
- Skills assessment quizzes
- Job application tracking
- Resume builder with templates
- Networking features
- Push notifications
- Offline support
- Multi-language support
- Unit and widget tests
- CI/CD pipeline
- Performance optimization
- Accessibility improvements
- Dark mode support
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation
- Flutter team for the amazing framework
- Supabase for the backend infrastructure
- The design assets creators
- The open-source community
Built with ❤️ for newly graduated students