Skip to content

slipe-fun/Bloom-mobile

Repository files navigation

Image

🌸 Bloom Messenger

An open-source, end‑to‑end encrypted mobile messenger.

License Platforms Status React Native

📖 Overview

Bloom is a privacy-first, end‑to‑end encrypted messenger designed for both iOS and Android. Built with React Native and Expo, it focuses on top-tier security without compromising ease of use.

✨ Key Features

  • End‑to‑End Encryption (E2EE): Total privacy for your conversations.
  • Post‑Quantum Cryptography: Built for the future to resist advanced threats.
  • Cross-Platform: Available on iOS (Note: Android support is currently a Work in Progress).
  • Intuitive UI/UX: Designed to be as simple and user-friendly as possible.

🔐 Security & Encryption

Bloom doesn't rely on third-party E2EE frameworks. Instead, it utilizes SKID — a custom post‑quantum encryption protocol based on hybrid cryptography.

  • Future-Proof: Specifically designed for post‑quantum security.
  • Syncing: Secure cross-device synchronization of private keys.
  • Hybrid Primitives: Combines the best of modern cryptographic algorithms.
  • Built-in: The SKID protocol source code is implemented and maintained directly within this repository.

🛠 Tech Stack


🚀 Getting Started

Platform Requirements

  • iOS: 16.0 or higher
  • Android: API Level 30+ (Android 11+) Work in progress (not fully supported yet)

Installation

  1. Clone the repository:

    git clone https://github.com/slipe-fun/Bloom-mobile.git
    cd Bloom-mobile
  2. Install dependencies: (Ensure you have pnpm installed)

    pnpm install

Running the App

  1. Prebuild the Expo project:

    npx expo prebuild
  2. Start the development build:

    # For iOS
    npx expo run:ios
    
    # For Android
    npx expo run:android

Note for Linux Users (Android Emulator): If you encounter a CommandError stating that the emulator could not be connected, ensure your ANDROID_HOME environment variable is set. Add the following to your ~/.bashrc or ~/.zshrc file and restart your terminal:

export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools

📂 Project Structure

The project follows a standard Expo / React Native architecture. Note: No .env files are used, and there is no runtime environment configuration required.

  • app/ — Application routes and screens.
  • src/ — Core application logic and SKID protocol implementation.
  • layouts/ — Navigation stack and it's transitions.
  • assets/ — Static files, images, and fonts.
  • scripts/ — Utility scripts.

Available Scripts

Generate an icon list:

pnpm run icons:generate

🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check theissues page if you want to contribute.

📜 License

This project is licensed under the GNU General Public License v3.0. See theLICENSE file for more details.


Built with ❤️ by the Bloom Team

About

Bloom mobile client. Built for iOS using React Native.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors