Shopping Jetminds is an android shopping app wich connects to Woocommerce and Wordpress api as back-end service. It uses the Retrofit and OkHttp3 to get and put data to web api and also uses Room Database to store and cache the data in database. Just change some urls and keys to use it on your Wordpress shopping website. :))
- Splash Screen: App splash screen
- Onboarding Screens: App welcome and introduction screens
- Login and Register: Sign in and Sign up throught Wordpress Api
- Home: Main screen to show some carousel of products
- Shop: Shop screen to show all products and also searching, sorting and filter products
- Product Details: Product details screen which shows the details of a product. Also it shows product Description, Features and comments
- Categories: Shows the products categories.
- Cart: Cart screen
- Checkout: Checkout screen
- Favorites: Favorite screen for your favorite products
- Search: Search screen to searching in products.
- Downloads: For user downloaded products (in progress ...)
- Notifications: User notifications. (in progress ...)
- Profile: User profile screen from Woocommerce REST API (customer role in wordpress - in progress ...)
- Coupons: All coupons that defined in Wordpress your site (in progress ...)
- Compare: Compare screen for comparing products. (in progress ...)
- Orders: User orders history screen (in progress ...)
- Settings: App settings (in progress ...)
- About us: About us screen (in progress ...)
- Jetpack Compose
- Kotlin Coroutines
- Kotlin Flow
- Dagger Hilt
- Retrofit2
- Room Database
- MVVM Architecture
- Clean Architecture
- Multi Module
- Navigation Compose
- Material3
- ViewModel
- DataStore
- Gson Converters
- Accompanist
app Section
data Section
domain Section
features Section
libraries Section
gradle Section
Setup:
1. Clone Project
2. In local.properties add your wordpress consumer key and consumer secret.
3. CONSUMER_KEY="YOUR CONSUMER KEY HERE"
4. CONSUMER_SECRET="YOUR CONSUMER SECRET HERE"
5. In data module -> network module -> utils folder, in Constants and WordpressConstants file change the urls to your website url. like this:
6. In Constans: const val BASE_URL = "https://your-website-url.com/wp-json/wc/v3/"
7. In WordpressConstants: const val WORDPRESS_BASE_URL = "https://your-website-url.com/wp-json/wp/v2/"
8. In WordpressConstants: const val TOKEN_BASE_URL = "https://your-website-url.com/wp-json/api/v1/"
Notice: You need install miniOrange api authentication plugin to generate jwt token to allow you to access wordpress protected urls like users, posts and ...
Notice: Use Java JDK 18. i used Amazon Correto JDK-18 for my project.
Notice: Gradle version: 8.1.0
Notice: Kotlin version: 1.8.10
Notice: MinSdk version: 24
App Size: 13mb
See My Website: https://jetminds.ir/