GIU-Connect is an innovative platform designed to support students at the German International University (GIU) in identifying suitable partners for tutorial exchanges. By fostering connections among peers with shared academic objectives, GIU-Connect enhances collaborative learning. 🤝
- Register: Sign up effortlessly using your @student.giu-uni.de email address. ✉️
- Add Request: Specify the tutorial you wish to exchange along with the one you currently have. 📚
- Connect: Explore requests and connect with fellow students to facilitate effective tutorial exchanges. 🌟
- Flutter: Developed with Flutter to deliver a seamless and high-performance user experience.
- Firebase: Leverages Firebase for robust backend services, including database management and authentication.
We welcome contributions from the community to enhance GIU-Connect. Your involvement is vital to the platform's success!
- Identify an Area of Contribution: You can help by fixing bugs, adding new features, improving documentation, or suggesting enhancements.
- Fork the Repository: Create your own copy of the repository by forking it.
- Create a New Branch:
git checkout -b feature/your-feature-nameReplace your-feature-name with a descriptive name for your feature.) - Make Your Changes: Implement your changes and test thoroughly.
- Commit Your Changes: Write clear and concise commit messages to explain your modifications.
- Push Your Branch:
git push origin feature/your-feature-name - Submit a Pull Request: Open a pull request on the main repository, detailing the changes made and their benefits.
For security reasons, the Firebase API keys for the production database are not provided in this repository. To contribute and test your changes, please follow these steps to create a new Firebase project:
-
Create a Firebase Project:
- Go to the Firebase Console.
- Click on "Add Project" and follow the prompts to create a new project.
-
Configure Your Project:
- Once your project is created, navigate to the project dashboard.
- Click on "Project Settings" (the gear icon next to "Project Overview").
-
Add Your App:
- Depending on your testing platform (Web, iOS, Android, etc.), follow these steps:
- For Web:
- Under the "General" tab, scroll down to the "Your apps" section and click on "Web" to add a new web app.
- For iOS:
- Click on "iOS" to register your app. Provide your iOS bundle ID.
- For Android:
- Click on "Android" to register your app. Provide your Android package name.
- For Web:
- Depending on your testing platform (Web, iOS, Android, etc.), follow these steps:
-
Obtain Your API Keys:
- After registering your app, you'll see your Firebase SDK configuration. Copy the
apiKey,authDomain,projectId,storageBucket,messagingSender,appId,measurementIdand other necessary details based on the platform you chose.
- After registering your app, you'll see your Firebase SDK configuration. Copy the
-
Enable Authentication:
- Navigate to the Authentication section in the Firebase Console.
- Click on "Get Started" and enable the Email/Password sign-in method.
-
Enable Firebase Database:
- Go to the Realtime Database section in the Firebase Console.
- Click on "Create Database" and choose the appropriate rules for your project (start in test mode if needed).
-
Set Up Your Environment:
- In the root directory of your cloned repository, create an
.envfile in theassets/folder, then copy the contents from.env.exampleinto your.envfile. Your.envwill be ignored when pushing changes. - Make sure to replace the placeholders with the actual values from your Firebase project.
- In the root directory of your cloned repository, create an
-
Test Your Changes:
- You can now run the application locally using your new Firebase project. Ensure that all functionalities are working as expected before submitting your contributions.
- Report Issues: If you encounter any bugs or have suggestions for improvements, please open an issue in the repository to help us address them.
- Enhance Documentation: Contributions to improve the README or other documentation files are always appreciated. Clear and comprehensive documentation benefits everyone!
- Share Your Feedback: We welcome your insights and ideas. Share your thoughts on how we can enhance the platform and user experience.
- Promote GIU-Connect: Spread the word about GIU-Connect within your network. The more students we reach, the more valuable our community becomes!
- Participate in Discussions: Engage with the community through discussions and forums to share knowledge and best practices.
Thank you for your support in making GIU-Connect a better resource for all students! 🌟
- GUC Student Support: Expand the platform to include students from the German University in Cairo (GUC).
- Notification System: Implement notifications to alert users when a match is found. 🔔
- In-App Communication: Enable direct messaging capabilities between matched students. 💬
For inquiries, feedback, or collaboration opportunities, please contact:
[email protected]
Thank you for your interest in GIU-Connect. We look forward to enhancing the academic experience at GIU through collaborative learning! 🎉