Skip to content

praba2210/SyncBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SyncBridge

The missing iCloud for Mac ↔ Android users

SyncBridge is a privacy-first, cross-platform synchronization tool that seamlessly syncs contacts, calendars, photos, and files between macOS and Android devices with end-to-end encryption.

🚀 Quick Start

Prerequisites

  • Flutter 3+ with Dart 3
  • Xcode (for macOS development)
  • Android Studio (for Android development)
  • Rust (for core encryption/sync engine)
  • Python 3.11+ (for backend API)
  • Docker & Docker Compose (for local development)

Installation

  1. Clone the repository:
git clone <repository-url>
cd SyncBridge
  1. Set up Flutter dependencies:
cd app
flutter pub get
cd ..
  1. Set up Python backend:
cd server
pip install -r requirements.txt
cd ..
  1. Start the development environment:
docker-compose up -d
cd app
flutter run

📁 Project Structure

SyncBridge/
├── app/          # Flutter application (Android + macOS)
├── server/       # FastAPI backend
├── core/         # Rust core library (encryption, sync engine)
├── ops/          # Docker, CI/CD, deployment configs
├── Docs/         # Project documentation
└── README.md     # This file

🏗️ Architecture

  • Frontend: Flutter 3 with Riverpod state management
  • Backend: FastAPI with PostgreSQL and S3-compatible storage
  • Sync Engine: Rust core with libsodium encryption
  • Local Storage: Isar embedded database
  • State Management: Riverpod with go_router navigation

🔐 Security

  • End-to-end encryption using XChaCha20-Poly1305
  • Zero-knowledge server architecture
  • Local key management with Keychain/Keystore
  • Optional self-hosting support

🎯 Features

MVP (Free Tier)

  • ✅ Two-way contacts sync
  • ✅ Two-way calendar sync
  • ✅ Manual file sync
  • ✅ Single device pair

Pro Tier

  • 🔄 Background automatic sync
  • 📸 Photos sync with deduplication
  • 📁 Real-time file sync
  • 📱 Multi-device support

🛠️ Development

Running Tests

# Flutter tests
cd app && flutter test

# Backend tests
cd server && python -m pytest

# Rust tests
cd core && cargo test

Building

# Android APK
cd app && flutter build apk

# macOS app
cd app && flutter build macos

# Backend Docker
cd server && docker build -t syncbridge-api .

📖 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.

📄 License

[License information to be added]

🗓️ Development Timeline

Currently in Week 1 of development - Bootstrap & Contracts phase.

See Docs/ for detailed project requirements and planning documents.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published