Skip to content

Zoltus/SulkuMail

Repository files navigation

SulkuMail is a modern, cross-platform email client built with Kotlin Multiplatform and Compose, providing a consistent experience across Android, iOS, Desktop, and Server platforms. Project is on very early stages and at first the focus is adding full gmail support to read and delete emails, and later adding other mail providers + sending mails.

🛠Technology Stack

  • Kotlin Multiplatform - Share code between platforms
  • Kotlin Compose - Modern UI toolkit for all platforms
  • Koog - To build ai agents to summarize & generate mails
  • Ktor - HTTP client for network requests
  • Koin - Dependency injection
  • Google Credentials Manager & Identity service - Native Android & IOS login
  • Multiplatform Settings - Secure credential storage

Roadmap

  • Add ai agent to summarize & generate mails
  • Add proper support for multiple accounts
  • Add proper mail viewing capabilities
  • Implement secure credential storage
  • Implement local caching for offline access
  • Background synchronization
  • Complete account authentication flows on ios
  • Support multiple llm models for ai agent (e.g. OpenAI, Gemini)

Images

Currently under work

Account Management (Google)

  • Native Android Login
  • Desktop Login
  • Native IOS Login
  • Get account details, name,email & profile picture

Security & Storage

  • Android (DataStoreSettings)
  • Desktop (DataStoreSettings)
  • IOS (KeyChain)

Mail Functionality

  • Fetching mail logic
  • Fetching latest mails & scheduling fetching
  • Display html mails.
  • Delete mail Logic
  • Ai agent to generate mails
  • Ai agent to summarize
  • Sending mails
  • Batch delete mails
  • Mail paginator/infinity scrolling
  • Background tasks for fetching mails
  • Store mails

User Interface

  • Siderbar containing users mail folders, Manage Accounts & Settings at the bottom
  • Basic view to see snippets of fetched mails
  • Complete mail content view with attachments
  • Display Users mail folders & info on sidebar
  • Settings UI
  • ManageAccounts UI (View & manage added Mail accounts)
  • Robust error handling
  • Add multiple gmail accounts

Project Setup

To setup the project do the following steps:

  1. Clone the repository

    git clone https://github.com/Zoltus/SulkuMail
  2. Open project in IntelliJ

  3. Create local.properties in project root directory with:

    sdk.dir=/path/to/your/android/sdk
    GOOGLE_API_SECRET=your_google_client_secret
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_REDIRECT_URL=http://localhost:8079/callback // This is callback url for the jvm, jvm hosts own http server to receive google auth code, no need to change
    BACKEND_URL=your_backend_url
    AI_AGENT_URL=ollama_ai_agent_url

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •