This Flutter application helps entrepreneurs find the right co-founders who complement their skills and also share their interests and business goals. Whether you are looking for a tech expert, a marketing guru, or a visionary partner. This app aims to help you finding a perfect co-founder to bring your startup ideas to life.
## Features
- **Matchmaking:** Swipe through potential co-founders inorder to find a match.
- **View profiles:** Browse through all your swiped or matched profiles.
- **Chat:** In-app messaging to communicate with potential co-founders and discuss your ideas and vision without revealing personal contact details.
- **Profile Creation:** Create and update your profile to present yourself attractively to others.
This project uses the following external packages:
- [expandable_text](https://pub.dev/packages/expandable_text): Widget that only shows the first lines of a text and adds a link to expand the full text.
- [flutter_svg](https://pub.dev/packages/flutter_svg): An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
- [geocoding](https://pub.dev/packages/geocoding): A Flutter Geocoding plugin which provides easy geocoding and reverse-geocoding features.
- [geolocator](https://pub.dev/packages/geolocator): Flutter geolocation plugin which provides easy access to platform specific location services.
- [image_cropper](https://pub.dev/packages/image_cropper): A Flutter plugin for cropping images.
- [image_picker](https://pub.dev/packages/image_picker): Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera.
- [osm_nominatim](https://pub.dev/packages/osm_nominatim): A library to perform OSM Nominatim searches also supporting reverse searches.
- [percent_indicator](https://pub.dev/packages/percent_indicator): Library that allows you to display progress widgets based on percentage, can be Circular or Linear, you can also customize it to your needs.
- [shared_preferences](https://pub.dev/packages/shared_preferences): Flutter plugin for reading and writing simple key-value pairs.
- [swipable_stack](https://pub.dev/packages/swipable_stack): A widget for stacking cards, which users can swipe horizontally and vertically with beautiful animations like Tinder.
Using [**Firebase**](https://firebase.google.com/) as the backend platform, this project also uses the following plugins:
- [cloud_firestore](https://pub.dev/packages/cloud_firestore): Flutter plugin for Cloud Firestore, a cloud-hosted, noSQL database.
- [firebase_auth](https://pub.dev/packages/firebase_auth): Flutter plugin for Firebase Auth, enabling authentication.
- [firebase_core](https://pub.dev/packages/firebase_core): Flutter plugin for Firebase Core, enabling connecting to multiple Firebase apps.
- [firebase_storage](https://pub.dev/packages/firebase_storage): Flutter plugin for Firebase Cloud Storage, a simple object storage service.
In addition to the above, this project also uses the following **optional** packages:
- [flutter_launcher_icons](https://pub.dev/packages/flutter_launcher_icons): A package which simplifies the task of updating your Flutter app's launcher icon.
Other platforms, such as iOS, have not yet been tested. It might work on iOS without any changes, but this has not been confirmed.
## Using the App
Due to the nature of this project, an **online connection is required**.
1. Register or Login
2. Fill out your profile information
- Setting your location works best using the Current Position feature. This feature requires temporary access to the device's GPS services.
- You can also enter a location manually by searching either by textual location or by coordinates.
Here are three examples of what the input text could look like:
```bash
Heidelberg
Mannheim Glücksteinallee
76133 Karlsruhe
```
The input format to search by coordinates is ```Latitude, Longitude```. Here are two examples of how to input the coordinates:
```bash
49.46997, 8.482
-19.03, -65.25
```
The search results may not always be very accurate. If no results are found for your search input, please check your input or try a different search term.
3. Swipe through user profiles
- In the profile overview, you can swipe other users' profiles to the right (like), left (dislike), or up (skip, to decide later).
4. Connect with your matches through chat.
- Once you match with other users, you can chat with them to get to know each other better or exchange personal information.
To quickly get started on Android, you can directly download the current APK file of this app from [here](https://clousi.hs-mannheim.de/index.php/s/KLK42o3zT3abnkb).