README.md (4529B)
1 # Notedeck 2 3 [](https://github.com/damus-io/notedeck/actions/workflows/rust.yml) 4 [](https://deepwiki.com/damus-io/notedeck) 5 6 A modern, multiplatform Nostr client built with Rust. Notedeck provides a feature-rich experience for interacting with the Nostr protocol on both desktop and Android platforms. 7 8 <p align="center"> 9 <img src="https://cdn.jb55.com/s/6130555f03db55b2.png" alt="Notedeck Desktop Screenshot" width="700"> 10 </p> 11 12 ## โจ Features 13 14 - **Multi-column Layout**: TweetDeck-style interface for viewing different Nostr content 15 - **Dave AI Assistant**: AI-powered assistant that can search and analyze Nostr content 16 - **Profile Management**: View and edit Nostr profiles 17 - **Media Support**: View and upload images with GIF support 18 - **Lightning Integration**: Zap (tip) content creators with Bitcoin Lightning 19 - **Cross-platform**: Works on desktop (Linux, macOS, Windows) and Android 20 21 ## ๐ฑ Mobile Support 22 23 Notedeck runs smoothly on Android devices with a responsive interface: 24 25 <p align="center"> 26 <img src="https://cdn.jb55.com/s/bebeeadf7001fae1.png" alt="Notedeck Android Screenshot" height="500px"> 27 </p> 28 29 ## ๐๏ธ Project Structure 30 31 ``` 32 notedeck 33 โโโ crates 34 โ โโโ notedeck - Core library with shared functionality 35 โ โโโ notedeck_chrome - UI container and navigation framework 36 โ โโโ notedeck_columns - TweetDeck-style column interface 37 โ โโโ notedeck_dave - AI assistant for Nostr 38 โ โโโ notedeck_ui - Shared UI components 39 โ โโโ tokenator - String token parsing library 40 ``` 41 42 ## ๐ Getting Started 43 44 ### Desktop 45 46 To run on desktop platforms: 47 48 ```bash 49 # Development build 50 cargo run -- --debug 51 52 # Release build 53 cargo run --release 54 ``` 55 56 ### Android 57 58 For Android devices: 59 60 ```bash 61 # Install required target 62 rustup target add aarch64-linux-android 63 64 # Build and install on connected device 65 cargo apk run --release -p notedeck_chrome 66 ``` 67 68 ### Android Emulator 69 70 1. Install [Android Studio](https://developer.android.com/studio) 71 2. Open 'Device Manager' and create a device with API level `34` and ABI `arm64-v8a` 72 3. Start the emulator 73 4. Run: `cargo apk run --release -p notedeck_chrome` 74 75 ## ๐งช Development 76 77 ### Android Configuration 78 79 Customize Android views for testing: 80 81 1. Copy `example-android-config.json` to `android-config.json` 82 2. Run `make push-android-config` to deploy to your device 83 84 ### Setting Up Developer Environment 85 86 ```bash 87 ./scripts/dev_setup.sh 88 ``` 89 90 This adds pre-commit hooks for proper code formatting. 91 92 ## ๐ Documentation 93 94 Detailed developer documentation is available in each crate: 95 96 - [Notedeck Core](./crates/notedeck/DEVELOPER.md) 97 - [Notedeck Chrome](./crates/notedeck_chrome/DEVELOPER.md) 98 - [Notedeck Columns](./crates/notedeck_columns/DEVELOPER.md) 99 - [Dave AI Assistant](./crates/notedeck_dave/docs/README.md) 100 - [UI Components](./crates/notedeck_ui/docs/components.md) 101 102 ## ๐ Release Status 103 104 Notedeck is currently in **BETA** status. For the latest changes, see the [CHANGELOG](./CHANGELOG.md). 105 106 ## Future 107 108 Notedeck allows for app development built on top of the performant, built specifically for nostr database [nostrdb][nostrdb]. An example app written on notedeck is [Dave](./crates/notedeck_dave) 109 110 Building on notedeck dev documentation is also on the roadmap. 111 112 ## ๐ค Contributing 113 114 ### Developers 115 116 Contributions are welcome! Please check the developer documentation and follow these guidelines: 117 118 1. Fork the repository 119 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 120 3. Commit your changes (`git commit -m 'Add amazing feature'`) 121 4. Push to the branch (`git push origin feature/amazing-feature`) 122 5. Open a Pull Request 123 124 ### Translators 125 126 Help us bring Notedeck to non-English speakers! 127 128 Request to join the Notedeck translations team through [Crowdin](https://crowdin.com/project/notedeck). 129 130 If you do not have a Crowdin account, sign up for one. 131 If you do not see your language, please request it in Crowdin. 132 133 ## ๐ Security 134 135 For security issues, please refer to our [Security Policy](./SECURITY.md). 136 137 ## ๐ License 138 139 This project is licensed under the GPL - see license information in individual crates. 140 141 ## ๐ฅ Authors 142 143 - William Casarin <jb55@jb55.com> 144 - kernelkind <kernelkind@gmail.com> 145 - And [contributors](https://github.com/damus-io/notedeck/graphs/contributors) 146 147 148 [nostrdb]: https://github.com/damus-io/nostrdb