A modern Flutter mobile application designed to connect students and facilitate collaboration on academic projects. Whether you're looking for teammates for a group assignment, seeking specific skills for your project, or wanting to contribute your expertise to others, StudentCollabHub makes it easy to find the right collaborators.
From left to right: Home dashboard, Project browsing, Project details, and User profiles
- Create and publish project listings with detailed descriptions
- Specify required skills and number of collaborators needed
- Browse and search through available projects
- Save interesting projects to favorites
- Build comprehensive user profiles showcasing skills and experience
- Connect with other students through direct messaging
- View detailed profiles of potential collaborators
- Join projects that match your skills and interests
- Search projects by keywords, skills, or categories
- Filter projects based on collaboration requirements
- Discover users with complementary skills
- Get matched with relevant project opportunities
- Clean, intuitive mobile interface
- Real-time messaging system
- Profile customization and management
- Cross-platform compatibility (iOS & Android)
- Frontend: Flutter & Dart
- Backend: Firebase
- Authentication (Firebase Auth)
- Database (Cloud Firestore)
- Cloud Storage
- State Management: Provider
- Architecture: MVVM Pattern
Before running this application, make sure you have:
- Flutter SDK (version 3.5.4 or higher)
- Dart SDK
- Android Studio / Xcode for mobile development
- Firebase project with Firestore and Authentication enabled
-
Clone the repository
git clone https://github.com/MbarekTech/StudentCollabHub.git cd StudentCollabHub -
Install dependencies
flutter pub get
-
Firebase Setup
a. Create a new Firebase project at Firebase Console
b. Enable Authentication and Firestore Database
c. For Android:
- Add your Android app to Firebase project
- Download
google-services.json - Replace the template file in
android/app/google-services.json
d. For iOS:
- Add your iOS app to Firebase project
- Download
GoogleService-Info.plist - Add it to your iOS project in Xcode
e. Update Firebase configuration:
- Open
lib/firebase_options.dart - Replace placeholder values with your actual Firebase configuration
-
Run the application
# For Android flutter run # For iOS flutter run -d ios
lib/
βββ main.dart # Application entry point
βββ firebase_options.dart # Firebase configuration
βββ models/ # Data models
β βββ project_model.dart
β βββ user_model.dart
βββ screens/ # UI screens
β βββ home_screen.dart
β βββ create_project_screen.dart
β βββ project_listing_screen.dart
β βββ profile_screen.dart
β βββ messages_screen.dart
β βββ ...
βββ services/ # Business logic
β βββ auth_service.dart
β βββ database_service.dart
βββ state/ # State management
βββ app_state.dart
- Authentication Methods: Enable Email/Password authentication in Firebase Console
- Firestore Rules: Configure appropriate security rules for your database
- Storage Rules: Set up rules for file uploads if using Firebase Storage
Create a .env file in the root directory for any additional configuration:
# Example environment variables
APP_NAME=StudentCollabHub
DEBUG_MODE=trueWe welcome contributions to StudentCollabHub! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow Flutter/Dart coding conventions
- Write clear, descriptive commit messages
- Add comments for complex logic
- Test your changes on both Android and iOS
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the maintainers
- Flutter team for the amazing framework
- Firebase for backend services
- All contributors who help improve this project
Made with β€οΈ for the student community



