A modern Flutter platform bridging the gap between visionary entrepreneurs and forward-thinking investors.
Features β’ Demo β’ Getting Started β’ Architecture β’ Contributing
- About The Project
- Key Features
- Tech Stack
- Screenshots
- Getting Started
- Project Structure
- Supabase Configuration
- Dependencies
- Architecture
- Roadmap
- Contributing
- Author
- License
Shark Space (also known as VentureBridge) is a cross-platform mobile application inspired by global investment programs like Shark Tank. It creates an intelligent digital ecosystem where:
- πΌ Entrepreneurs can pitch their projects, showcase their vision, and reach serious investors.
- π° Investors can discover, evaluate, and connect with promising ventures aligned with their interests.
By combining a smart matching algorithm, real-time communication, and a trust-driven rating system, Shark Space removes friction from the investment journey β making the path from idea to funding faster, more transparent, and more efficient.
π― Mission: To democratize access to investment opportunities and empower the next generation of entrepreneurs across the region and beyond.
|
Tailored dashboards for Entrepreneurs and Investors, each with role-specific tools and workflows. Explore projects and investor profiles through clean, performant UI with detailed views and rich media. Mutual-interest matching system β when both sides show interest, a connection is automatically created. Instant messaging powered by Supabase Realtime, enabling seamless conversations between matched users. |
Build credibility and trust through a transparent feedback system between users. Powerful filters to discover the right projects or investors based on specific criteria. Upload avatars, manage pitch decks, and customize your professional presence. Email-based sign-up with confirmation, persistent sessions, and Row Level Security at the database layer. |
| Layer | Technology |
|---|---|
| Frontend | Flutter (Dart) |
| Backend | Supabase (BaaS) |
| Database | PostgreSQL |
| State Management | Riverpod |
| Navigation | GoRouter |
| Real-time | Supabase Realtime |
| Storage | Supabase Storage |
| Security | Row Level Security (RLS) |
Screenshots coming soon β stay tuned!
Follow these steps to get Shark Space running locally in just a few minutes.
- Flutter SDK (3.x or later)
- Dart SDK (3.x or later)
- A free Supabase account
- Android Studio / VS Code with Flutter extensions
git clone https://github.com/OsamaALHajj/Shark-Space.git
cd Shark-Space- Visit supabase.com β New Project
- Navigate to Settings β API
- Copy your:
- π Project URL
- π anon public key
Open lib/core/constants/supabase_constants.dart and update the two lines below:
static const String supabaseUrl = 'https://xxxx.supabase.co'; // β your Project URL
static const String supabaseAnonKey = 'eyJ...'; // β your anon key- Open Supabase Dashboard β SQL Editor β New query
- Paste the entire contents of
supabase_schema.sql - Click RUN β
flutter pub get
flutter runπ That's it! The app should now be running on your emulator or connected device.
lib/
βββ main.dart # πͺ Entry point + Supabase initialization
βββ app.dart # π¨ MaterialApp + Router setup
β
βββ core/ # π§ Core utilities & shared services
β βββ constants/
β β βββ supabase_constants.dart # π Supabase URL & AnonKey
β β βββ app_constants.dart # App-wide constants
β βββ supabase/
β β βββ supabase_service.dart # All DB operations
β β βββ supabase_client_provider.dart
β βββ router/
β β βββ app_router.dart # Navigation + route guards
β βββ theme/
β βββ app_theme.dart # App theming
β
βββ models/ # π¦ Data models (User, Project, Investorβ¦)
β
βββ providers/ # π Riverpod state management
β βββ auth_provider.dart
β βββ project_provider.dart
β βββ investor_provider.dart
β βββ match_provider.dart
β βββ likes_provider.dart
β βββ ratings_provider.dart
β βββ search_provider.dart
β βββ messaging_provider.dart # β‘ Realtime chat
β
βββ features/ # π§© Feature-based modules
β βββ auth/ # Login, Register, Splash
β βββ dashboard/ # Entrepreneur & Investor dashboards
β βββ browse/ # Projects, Investors, Detail, Profile
β βββ messaging/ # Conversations & Real-time Chat
β βββ search/ # Advanced search
β βββ likes/ # My Likes
β
βββ widgets/ # π§± Reusable UI components
βββ cards/ # ProjectCard, InvestorCard, MatchCard
βββ common/ # AppDrawer, RatingDisplay, β¦
| Feature | Purpose |
|---|---|
| Auth | Sign up / Sign in with email + automatic session persistence |
| Database | All application data tables |
| Row Level Security | Per-user data isolation and protection |
| Realtime | Instant messaging in the chat module |
| Storage | Profile pictures and pitch deck file uploads |
In Authentication β URL Configuration, add:
io.supabase.venturebridge://login-callback
In Storage, create the following buckets:
| Bucket | Visibility | Purpose |
|---|---|---|
avatars |
π Public | User profile pictures |
pitch-decks |
π Private | Confidential pitch documents |
dependencies:
supabase_flutter: ^2.5.6 # Complete backend solution
flutter_riverpod: ^2.5.1 # State management
go_router: ^14.2.0 # Declarative navigation
equatable: ^2.0.5 # Value equality for models
flutter_rating_bar: ^4.0.1 # Star rating widget
cached_network_image: ^3.3.1 # Image caching & loading
intl: ^0.19.0 # Date formatting & i18n
image_picker: ^1.1.2 # Image selection & uploadShark Space follows a clean, feature-based architecture with strict separation of concerns:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Presentation Layer β
β (Features, Widgets, Screens) β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β State Management Layer β
β (Riverpod Providers) β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β Service Layer β
β (Supabase Service & Models) β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β Backend (Supabase) β
β Auth β’ Database β’ Realtime β’ Storage β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Core Principles:
- π§© Modular β Each feature is self-contained and independently maintainable.
- π Reactive β Riverpod ensures predictable, reactive state across the app.
- π Secure by Design β RLS policies enforce data security at the database level.
- π Scalable β Easy to add new features without touching existing code.
- π§ͺ Testable β Clear separation between UI, state, and business logic.
- User authentication & dual role system
- Project & investor browsing
- Likes & matching system
- Real-time chat
- Ratings system
- Push notifications
- Video pitch uploads
- AI-powered project recommendations
- Multi-language support (Arabic / English)
- Investment tracking dashboard
- Web version
See open issues for a full list of proposed features and known issues.
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.