Prepare v1.0 release
- Update README with comprehensive documentation - Add release signing configuration - Create GitHub Pages site in docs/
This commit is contained in:
parent
d6a86a1a69
commit
367a7bb604
4 changed files with 157 additions and 0 deletions
94
README.md
94
README.md
|
|
@ -1,2 +1,96 @@
|
||||||
# FastMask
|
# 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
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,19 @@ android {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
create("release") {
|
||||||
|
storeFile = file("${System.getProperty("user.home")}/.android/debug.keystore")
|
||||||
|
storePassword = "android"
|
||||||
|
keyAlias = "androiddebugkey"
|
||||||
|
keyPassword = "android"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
|
signingConfig = signingConfigs.getByName("release")
|
||||||
proguardFiles(
|
proguardFiles(
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
"proguard-rules.pro"
|
"proguard-rules.pro"
|
||||||
|
|
|
||||||
3
docs/_config.yml
Normal file
3
docs/_config.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
title: FastMask
|
||||||
|
description: Fastmail Masked Email Manager for Android
|
||||||
|
theme: jekyll-theme-cayman
|
||||||
50
docs/index.md
Normal file
50
docs/index.md
Normal file
|
|
@ -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
|
||||||
Loading…
Reference in a new issue