https://github.com/solana-mobile/minty-fresh
An open source mobile first implementation of NFT minting on solana
https://github.com/solana-mobile/minty-fresh
mobile-app mobile-first solana solana-nft solana-wallet-adapter
Last synced: about 1 year ago
JSON representation
An open source mobile first implementation of NFT minting on solana
- Host: GitHub
- URL: https://github.com/solana-mobile/minty-fresh
- Owner: solana-mobile
- License: apache-2.0
- Created: 2023-01-09T18:11:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-22T03:39:14.000Z (almost 2 years ago)
- Last Synced: 2025-04-09T17:01:23.030Z (about 1 year ago)
- Topics: mobile-app, mobile-first, solana, solana-nft, solana-wallet-adapter
- Language: Kotlin
- Homepage: https://solanamobile.com/
- Size: 9.03 MB
- Stars: 49
- Watchers: 4
- Forks: 20
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](http://makeapullrequest.com)
[](https://developer.android.com/jetpack/androidx/versions/all-channel)
[](https://github.com/solana-mobile/Minty-fresh/network)
[](https://github.com/solana-mobile/Minty-fresh/stargazers)
[](https://github.com/solana-mobile/Minty-fresh/issues)
[](https://github.com/solana-mobile/Minty-fresh/blob/main/LICENSE.md)
[](https://github.com/solana-mobile/Minty-fresh/releases/latest)
[](https://twitter.com/solanamobile)
# Minty Fresh
Mint NFTs directly from images on your phone with just a few taps!
## Take a Look
## Technologies
Minty Fresh is built using 100% native Kotlin Android code, and is meant to demonstrate a best-in-breed implementation of native mobile dApp. Some implementation highlights:
- Extensive use of [Mobile Wallet Adapter](https://github.com/solana-mobile/mobile-wallet-adapter)
- 100% Jetpack Compose UI w/ Material 3
- Coroutines with Flow & StateFlow
- Multi-module app
- Hilt Dependency Injection
- Room local database
## Building & Running
```shell
git clone git@github.com:solana-mobile/Minty-fresh.git
cd Minty-fresh
```
When opening the project in Android Studio, be sure to select the `build.gradle.kts` file from the project root.
## Implementation Overview
Minty Fresh is a multi-module Android application, which means that the source code is broken up into logical code packages that variously depend on each other.
Roughly speaking, the modules are separated out based on "layers" of app logic, e.g.; UI modules, business logic, networking/data storage modules and the like.
The following is a module dependency diagram, showing the modules that exist in the app and how they depend on each other:

Each module in the application has its own readme file, which is linked here:
### App & Screen Modules
- [Root Application module](app)
- [Photo selection "gallery"](ui/gallery)
- ["My Mints" Screens](ui/mymints)
- [NFT minting screen](ui/nftMint)
- [Wallet Connect Button](ui/walletConnectButton)
- [Shared composable](ui/commonComposable)
### Logic Modules
- [NFT minting logic](libs/mintycore)
- [Persistence/local storage](libs/persistence)
- [Networking interfaces](libs/networkInterface)
- [Networking implementation](libs/networkInterfaceImpl)
- [Network interface bindings](libs/networkConfigs)
## License
[Apache 2.0](https://github.com/solana-mobile/Minty-fresh/blob/main/LICENSE.md)