Skip to content

Harshit16g/thread

Repository files navigation

🌐 TabL

A decentralized super-app built with Flutter — combining a multi-service marketplace, ride-sharing, rentals, food services, voting, community news, and a native token economy.


🎯 Vision

TabL is designed to:

  • Empower users to offer and consume peer-to-peer services: rides, deliveries, rentals, tiffin, etc.
  • Verify and onboard new users in a decentralized, community-driven way.
  • Introduce a native token for payments, rewards, and voting.
  • Deliver real-time, community-driven news.
  • Prevent fraud through hardware tagging, IP tagging, and an immutable transaction chain.

🚀 Tech Stack

Area Technology
UI Flutter
Auth Supabase OAuth
Backend DB Neon (PostgreSQL) + Supabase ORM
Realtime Supabase Realtime + Upstash Redis
Native Token Internal ledger → planned blockchain
Maps Google Maps SDK
Storage Supabase Storage
Monitoring Sentry
Anti-fraud Device fingerprinting, IP tagging

🧩 Key Features

Implemented ✅

  • Authentication System: Google OAuth and email/password auth with Supabase
  • User Profile Management: Complete CRUD operations for user profiles
    • View profile with avatar, bio, and contact info
    • Edit profile with form validation
    • Secure logout functionality
    • Automatic profile creation on signup
  • Clean Architecture: Feature-first structure with separation of concerns
  • State Management: BLoC pattern for predictable state updates
  • Security: Row Level Security (RLS) and secure data access
  • Modern UI: Glass morphism design with dark theme

Planned 🚧

  • Multi-service marketplace (rides, rentals, food, delivery, etc.)
  • Users can act as providers & consumers
  • Decentralized user verification & referral system
  • Native token for payments, rewards, and governance
  • Voting & proposal system
  • Real-time community news
  • Hardware/IP tagging & immutable transaction logs for fraud prevention

📦 Current Project Structure

lib/
├── main.dart                  # App entry point with DI setup
├── auth_gate.dart             # Auth state controller
├── core/                      # Shared services, constants, theming
│   ├── services/              # Singleton services (auth, storage)
│   └── theme/                 # App-wide theming
├── features/                  # Feature-first modular design
│   ├── auth/                  # ✅ Authentication (complete)
│   │   ├── data/              # Repository implementation
│   │   ├── domain/            # Business logic & interfaces
│   │   └── presentation/      # UI & BLoC
│   ├── profile/               # ✅ Profile management (complete)
│   │   ├── data/              # Repository implementation
│   │   ├── domain/            # Business logic & interfaces
│   │   └── presentation/      # UI & BLoC
│   ├── home/                  # 🚧 Home screen (placeholder)
│   ├── search/                # 🚧 Search feature (placeholder)
│   ├── connect/               # 🚧 Connect feature (placeholder)
│   └── shell/                 # Main navigation shell
└── shared/                    # Reusable UI components
    └── widgets/               # Glass containers, buttons, forms

docs/
├── dev/                       # Developer documentation
│   ├── architecture.md        # Architecture guide
│   ├── auth/                  # Auth feature docs
│   ├── profile/               # Profile feature docs
│   └── theming.md             # UI theming guide
├── DATABASE_SETUP.md          # Database migration guide
└── ISSUES_AND_IMPROVEMENTS.md # Issues fixed & improvements

> 🏗️ Clean architecture with feature-first structure for scalability & modularity.

📈 Development Path

See: 📄 Development Plan & Roadmap


🛠 Architecture Diagram

flowchart TD
  subgraph Client[Flutter Mobile App]
    direction TB
    UI[User Interface -Flutter]
    DeviceTag[Hardware Tagging & Device Fingerprint]
    IPTag[IP Tagging & Geolocation]
  end

  subgraph Backend[Backend Services]
    direction TB
    Supabase[Supabase -Auth, Realtime, Storage, ORM]
    Neon[Neon PostgreSQL -Tx Logs, Listings, Users]
    Redis[Upstash Redis -Caching, Pub/Sub]
    Maps[Google Maps SDK -Location, Directions]
    Token[Native Token Ledger -internal → blockchain]
  end

  subgraph Monitoring
    Sentry[Sentry - Error & Crash Monitoring]
  end

  %% Connections
  UI --> Supabase
  UI --> Maps
  UI --> Redis
  UI --> Token
  DeviceTag --> Supabase
  IPTag --> Supabase
  Supabase --> Neon
  Supabase --> Redis
  Supabase --> Token
  UI --> Sentry
Loading

🤝 Contributing

Setup Instructions

  1. Clone the repository:
git clone https://github.com/Harshit16g/thread.git
cd thread
  1. Install dependencies:
flutter pub get
  1. Set up environment variables: Create a .env file in the root directory:
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
GOOGLE_WEB_CLIENT_ID=your_google_web_client_id
APP_REDIRECT_URI=your_app_redirect_uri
  1. Set up the database: Follow the instructions in docs/DATABASE_SETUP.md to create the database schema.

  2. Run the app:

flutter run
  1. Create a feature branch:
git checkout -b feat/my-feature
  1. Commit, push, and open a pull request.

Documentation

Please follow the guidelines in CONTRIBUTING.md


🛡 Security & Privacy

Decentralized verification by trusted users

Encrypted storage for KYC data

Hardware tagging & IP tagging to detect duplicate or fake accounts

Immutable transaction logs to ensure transparency


🧠 License

MIT (or another license of your choice)


Built with ❤️ using Flutter, Supabase, Neon, Upstash, Sentry, and open-source spirit.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors