From 367a7bb60466cc1dda7fedfd2a3768b9ed6c77fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Orzech?= Date: Sat, 31 Jan 2026 01:58:38 +0100 Subject: [PATCH] Prepare v1.0 release - Update README with comprehensive documentation - Add release signing configuration - Create GitHub Pages site in docs/ --- README.md | 94 ++++++++++++++++++++++++++++++++++++++++++++ app/build.gradle.kts | 10 +++++ docs/_config.yml | 3 ++ docs/index.md | 50 +++++++++++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 docs/_config.yml create mode 100644 docs/index.md diff --git a/README.md b/README.md index 0f59331..f24258a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,96 @@ # FastMask +A native Android app for managing Fastmail masked emails. Create, view, edit, and manage your masked email addresses directly from your Android device. + +## Features + +- **View Masked Emails** - Browse all your Fastmail masked email addresses in a clean, organized list +- **Create New Masks** - Generate new masked email addresses with optional descriptions and domain associations +- **Enable/Disable** - Toggle masked emails on or off without deleting them +- **Edit Details** - Update description, associated domain, and URL for any masked email +- **Copy to Clipboard** - Quickly copy email addresses with one tap +- **Delete** - Remove masked emails you no longer need +- **Search** - Filter your masked emails to find what you need +- **Material You** - Modern Material 3 design with dynamic theming support + +## Screenshots + +*Coming soon* + +## Requirements + +- Android 8.0 (API 26) or higher +- Fastmail account with API access + +## Installation + +### From GitHub Releases + +1. Download the latest APK from the [Releases](https://github.com/pawelorzech/FastMask/releases) page +2. Enable "Install from unknown sources" for your browser or file manager +3. Open the APK file to install + +### Build from Source + +1. Clone the repository: + ```bash + git clone https://github.com/pawelorzech/FastMask.git + ``` + +2. Open the project in Android Studio + +3. Build and run on your device or emulator + +## Setup + +1. Create a Fastmail API token: + - Log in to [Fastmail](https://www.fastmail.com) + - Go to **Settings** → **Privacy & Security** → **Integrations** → **API tokens** + - Click **New API token** + - Give it a name (e.g., "FastMask") + - Select the scope: **Masked Email** (read/write) + - Copy the generated token + +2. Open FastMask and paste your API token to log in + +## Tech Stack + +- **Kotlin** - 100% Kotlin codebase +- **Jetpack Compose** - Modern declarative UI +- **Material 3** - Latest Material Design components +- **Hilt** - Dependency injection +- **Coroutines & Flow** - Asynchronous programming +- **Retrofit + OkHttp** - Network communication +- **Kotlinx Serialization** - JSON parsing +- **JMAP Protocol** - Fastmail's native API + +## Architecture + +The app follows Clean Architecture principles with MVVM pattern: + +``` +app/ +├── data/ # Data layer (API, repositories) +├── domain/ # Business logic (use cases, models) +├── di/ # Dependency injection modules +└── ui/ # Presentation layer (screens, viewmodels) +``` + +## Privacy + +- Your API token is stored securely using Android's EncryptedSharedPreferences +- The app communicates directly with Fastmail's API - no third-party servers +- No analytics or tracking + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +This project is open source. See the [LICENSE](LICENSE) file for details. + +## Acknowledgments + +- [Fastmail](https://www.fastmail.com) for their excellent JMAP API +- [JMAP](https://jmap.io) specification for masked emails diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bc27754..75e34a1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -23,9 +23,19 @@ android { } } + signingConfigs { + create("release") { + storeFile = file("${System.getProperty("user.home")}/.android/debug.keystore") + storePassword = "android" + keyAlias = "androiddebugkey" + keyPassword = "android" + } + } + buildTypes { release { isMinifyEnabled = true + signingConfig = signingConfigs.getByName("release") proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..34d3a0d --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,3 @@ +title: FastMask +description: Fastmail Masked Email Manager for Android +theme: jekyll-theme-cayman diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..54a4b48 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: FastMask - Fastmail Masked Email Manager for Android +--- + +# FastMask + +A native Android app for managing Fastmail masked emails. + +Create, view, edit, and manage your masked email addresses directly from your Android device. + +## Download + +**[Download Latest APK](https://github.com/pawelorzech/FastMask/releases/latest)** + +## Features + +- **View Masked Emails** - Browse all your Fastmail masked email addresses +- **Create New Masks** - Generate new masked email addresses instantly +- **Enable/Disable** - Toggle masked emails on or off +- **Edit Details** - Update description, domain, and URL +- **Copy to Clipboard** - Quick one-tap copy +- **Search** - Filter your masked emails +- **Material You** - Modern Material 3 design + +## Requirements + +- Android 8.0 (API 26) or higher +- Fastmail account with API access + +## Quick Start + +1. Download the APK from [Releases](https://github.com/pawelorzech/FastMask/releases) +2. Install the app on your Android device +3. Create a Fastmail API token at [Fastmail Settings](https://www.fastmail.com/settings/security/tokens) +4. Enter your token in FastMask to start managing your masked emails + +## Privacy + +- Your API token is stored securely using Android's EncryptedSharedPreferences +- Direct communication with Fastmail's API - no third-party servers +- No analytics or tracking + +## Source Code + +FastMask is open source. View the code on [GitHub](https://github.com/pawelorzech/FastMask). + +--- + +Made with Kotlin and Jetpack Compose