145 lines
7.4 KiB
Markdown
145 lines
7.4 KiB
Markdown
# Cofounderella
|
|
|
|
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.
|
|
- **Dark Mode Support**: Toggle between a light and a dark theme for a personalized app experience.
|
|
|
|
## Screenshots
|
|
|
|
![Welcome screen](lib/assets/screenshots/welcome.png)
|
|
![Home screen](lib/assets/screenshots/home.png)
|
|
![Matching screen: Swipe left](lib/assets/screenshots/swipe_left.png)
|
|
![Matching screen: Swipe right](lib/assets/screenshots/swipe_right.png)
|
|
![User profile](lib/assets/screenshots/user_info.png)
|
|
![Chat](lib/assets/screenshots/chat.png)
|
|
![Chat darkmode](lib/assets/screenshots/chat_dark.png)
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- [Flutter SDK](https://flutter.dev/docs/get-started/install)
|
|
- [Android Studio](https://developer.android.com/studio) or [Xcode](https://developer.apple.com/xcode/) (for iOS development)
|
|
- A code editor like [VS Code](https://code.visualstudio.com/) or Android Studio
|
|
|
|
### Installation
|
|
|
|
1. **Clone the repository**
|
|
|
|
2. **Install dependencies:**
|
|
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
|
|
3. **Run the app:**
|
|
|
|
```bash
|
|
flutter run
|
|
```
|
|
|
|
### Folder Structure
|
|
|
|
- **lib/**: Contains the main code for the application.
|
|
- **assets/**: Icons and other assets.
|
|
- **components/**: Reusable widgets.
|
|
- **forms/**: UI forms.
|
|
- **models/**: Data models.
|
|
- **pages/**: UI screens.
|
|
- **services/**: Backend and API services.
|
|
- **settings/**: Settings provider.
|
|
- **themes/**: Theme provider.
|
|
- **utils/**: Utility classes and functions.
|
|
- **main.dart**: Entry point of the application.
|
|
|
|
## Technical Information
|
|
|
|
### Dependencies
|
|
|
|
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.
|
|
- [url_launcher](https://pub.dev/packages/url_launcher): Flutter plugin for launching a URL.
|
|
- [flutter_local_notifications](https://pub.dev/packages/flutter_local_notifications): A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform..
|
|
|
|
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.
|
|
|
|
|
|
### Supported Platforms
|
|
|
|
This project was developed on Windows using Flutter version 3.22.1 and Dart version 3.4.1.
|
|
It has been tested and is operational on both **Android** and **Web** platforms.
|
|
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.
|
|
|
|
## Android Binary
|
|
|
|
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).
|
|
Since the binary is unsigned, it is highly recommended to verify its integrity by comparing the checksum before installing it on your device.
|
|
|
|
### Checksums
|
|
|
|
Filename : **cofounderella-v1.0.5-240816.apk**
|
|
- MD5 : ```39d032a3c38775f41b058d67d4c8ff20```
|
|
- SHA-1 : ```d3f3a4fecfee8620aedc4b8177bcd0c320db035e```
|
|
- SHA-256 : ```781eff9d1904ef9a0341383ff79b2be0c5e6decbc849859173eff4c5206af365```
|
|
- SHA-512 : ```3cc065841fe2951a6ebe8dbe3a46ae617f6bb9576b5a2daa7b2aa0a371721349f2576f5e354cb5a3d357137eb0bb98d6a9a9d20daddb26713969f8d3de8b2bea```
|
|
|
|
|
|
|
|
|
|
## Contact
|
|
|
|
If you have any questions or suggestions, feel free to reach out to me at [1024481@stud.hs-mannheim.de](mailto:1024481@stud.hs-mannheim.de).
|
|
|
|
Happy matching! |