Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Telli/SyncOne

Repository files navigation

# SyncOne
**SyncOne** is a modular and extensible mobile application built with **.NET MAUI** to manage SMS communication and processing in real-time. Designed with an intelligent, background-processing architecture, it supports cross-platform operation and integration with Language Models (LLMs) to enable offline AI-powered messaging.
---
## πŸ“² Features
- **Real-Time SMS Processing** 
 - Background service (`SmsService`) ensures continuous SMS operations even when the app is closed. 
 - Retry mechanism with exponential backoff for reliable delivery.
- **Platform-Agnostic Design** 
 Uses `ISmsService` as an abstraction layer for SMS operations, enabling cross-platform integration.
- **Extensible Architecture** 
 Modular components like `DatabaseService`, `ApiService`, and `ConfigurationService` promote maintainability and scalability.
- **Intelligent Integration** 
 Supports LLM-powered interactionsβ€”AI assistants, translation, customer support via SMS.
---
## 🧠 Use Cases
### SMS-based LLM Interactions
- AI assistants via SMS 
- Offline language translation or tutoring 
- Educational content delivery in remote areas 
- SMS-based customer support automation
### Other Scenarios
- Remote data collection in low-connectivity areas 
- Two-factor authentication SMS parsing 
- Automated autoresponders 
- Bulk alerts and notifications
---
## 🧰 Prerequisites
1. **Development Environment** 
 - Visual Studio 2022 or later with the MAUI workload 
 - .NET 8.0 SDK or later 
 - Android SDK (API level 21 or higher)
2. **Android Permissions** 
 Add to `Platforms/Android/AndroidManifest.xml`:
 ```xml
 <uses-permission android:name="android.permission.SEND_SMS"/>
 <uses-permission android:name="android.permission.RECEIVE_SMS"/>
 <uses-permission android:name="android.permission.READ_SMS"/>
  1. Dependency Injection Ensure DI setup (e.g., Microsoft.Extensions.DependencyInjection) for services like ISmsService.

πŸš€ Setup & Installation

  1. Clone the repository

    git clone https://github.com/yourusername/SyncOne.git
    cd SyncOne
  2. Open the project Use Visual Studio to open the solution file.

  3. Restore & register dependencies

    # NuGet restore happens automatically in VS

    In your DI registration (e.g. MauiProgram.cs):

    services.AddSingleton<ISmsService, AndroidSmsService>();
    services.AddSingleton<DatabaseService>();
    services.AddSingleton<ApiService>();
    services.AddSingleton<ConfigurationService>();
  4. Build & deploy Deploy to an Android device or emulator via Visual Studio.


βš™οΈ Configuration

  • Uses a local SQLite database for storage.
  • App settings can be modified from the in-app configuration UI.

🧱 Project Structure

Models/ β†’ Data models 
Services/ β†’ Core logic & integrations 
ViewModels/ β†’ MVVM view models 
Platforms/Android/ β†’ Android-specific code & permissions 
Platforms/Android/Services/ β†’ Android SMS service implementation 

πŸ“Έ Screenshots

UI screens from the SyncOne dashboard (place your .png files in screenshots/ at repo root):

Home

Home Screen

Messages

Messages Screen

Stats

Stats Screen

Settings

Settings Screen


🀝 Contributing

Contributions are welcome!

  1. Fork the repo

  2. Create a feature branch

    git checkout -b feature/your-feature-name
  3. Commit your changes

    git commit -m "Add your feature"
  4. Push to your branch

    git push origin feature/your-feature-name
  5. Open a Pull Request


πŸ‘¨β€πŸ’» Authors

  • Telli Koroma
  • Dennis Stephens

πŸ“„ License

This project is licensed under the MIT License. See LICENSE for details.


πŸ“¬ Contact

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /