|
2 | 2 |
|
3 | 3 | Welcome to the documentation for the Jetpack Compose Multiplatform Shopping Application! |
4 | 4 | This is a cross-platform application that is built using Jetpack Compose Multiplatform, a declarative framework for sharing UIs across multiple platforms with Kotlin. |
5 | | -The application allows users to browse, search, and purchase products from a shopping catalog on Android, iOS, Desktop, Web and AndroidTV. |
| 5 | +The application allows users to browse, search, and purchase products from a shopping catalog on Android, iOS, Desktop, Web, Automotive and AndroidTV. |
6 | 6 |
|
7 | 7 |  |
8 | 8 |  |
@@ -62,12 +62,21 @@ If you like or are using this project to learn or start your solution, please gi |
62 | 62 | Obviously it would be more updates, What we are working on these days? |
63 | 63 | - **Product Comparison:** Easily compare features, prices, and reviews of two products side by side for a smarter shopping choice. |
64 | 64 |
|
65 | | -## **Latest Features 🏄♂️** |
66 | | -- Added `WebApp`, from now it can used on Web. |
67 | | -- Added `TvApp`, from now it can used on AndroidTV. |
68 | | -- Added `DesktopApp`, from now it can used on Desktop. |
69 | | -- Refactored Splash's UI with smoother animation |
70 | | -- In last updated, I added `GoogleMap` to managing address. So user can select its location before adding address information to be more specific |
| 65 | +## Latest Features 🚀 |
| 66 | +### 🚗 Automotive Support |
| 67 | +Added `AutomotiveApp` — the application is now compatible with **Android Automotive OS**, making it available for in-car systems. |
| 68 | +### 🌐 Web Support |
| 69 | +Introduced `WebApp` — access the app directly from your browser. |
| 70 | +### 📺 Android TV Support |
| 71 | +Added `TvApp` — enjoy the app on **Android TV** devices. |
| 72 | +### 💻 Desktop Support |
| 73 | +Introduced `DesktopApp` — the app now runs on desktop environments (Windows, macOS, Linux). |
| 74 | +### ✨ Refined Splash Screen |
| 75 | +Improved the splash screen UI with **smoother animations** for a better user experience. |
| 76 | +### 🗺️ Google Maps Integration |
| 77 | +Integrated `GoogleMap` for enhanced address input. |
| 78 | +Users can now **select their location on the map** before filling out address details, ensuring greater precision. |
| 79 | + |
71 | 80 |
|
72 | 81 |
|
73 | 82 | ## Tech Stack 📚 |
@@ -144,14 +153,43 @@ You can use the same APIs to build user interfaces for both Android and iOS. |
144 | 153 | --> |
145 | 154 |
|
146 | 155 | ## Backend 🌐 |
147 | | -[This project](https://github.com/aydenGill/shop-admin-panel) involves building a robust admin panel for managing an e-commerce platform. |
148 | | -It utilizes **Laravel** for the backend structure and **Livewire** for dynamic frontend interactions. |
149 | | -The panel comes with a comprehensive **API**, ensuring scalability and flexibility. |
150 | | - |
151 | | -### Features |
152 | | -- **Admin Dashboard:** Manage products, categories, orders, and customers seamlessly. |
153 | | -- **Laravel & Livewire:** Leverage the power of Laravel's backend with Livewire for reactive UI. |
154 | | -- **Full API:** Enables external integrations and interactions with the shopping platform. |
| 156 | + |
| 157 | +This project features two powerful backend implementations: a **Kotlin-based backend using Ktor** for modern connected applications, and a **Laravel + Livewire** backend for managing an admin panel. |
| 158 | + |
| 159 | +### Kotlin Backend (Primary) |
| 160 | + |
| 161 | +> 🔗 [View Kotlin Backend Repository](https://github.com/razaghimahdi/shopping_by_ktor) |
| 162 | +
|
| 163 | +The Kotlin backend is built with **Ktor**, a modern framework for creating asynchronous web applications and services. It leverages **Kotlin Coroutines** for non-blocking execution and includes a set of carefully selected libraries to ensure security, scalability, and maintainability. |
| 164 | + |
| 165 | +#### Tech Stack |
| 166 | + |
| 167 | +- **Ktor** – Framework to build asynchronous connected applications using Kotlin Coroutines. |
| 168 | +- **Exposed** – Lightweight SQL library with a typesafe DSL and DAO support for PostgreSQL. |
| 169 | +- **PostgreSQL** – Open-source, advanced object-relational database. |
| 170 | +- **Koin** – Pragmatic and lightweight dependency injection framework for Kotlin. |
| 171 | +- **kotlinx-datetime** – Multiplatform date and time library. |
| 172 | +- **Bcrypt** – Java-based implementation of the bcrypt password hashing algorithm. |
| 173 | +- **Apache Commons Email** – Simplified email-sending library built on JavaMail. |
| 174 | +- **ktor-openapi-tools** – Plugin to generate OpenAPI specs with Swagger UI and ReDoc. |
| 175 | +- **Valiktor** – Type-safe, fluent DSL for validating Kotlin objects. |
| 176 | + |
| 177 | +This stack enables building reactive APIs, secure user management, and robust database interactions, all with a clean and maintainable architecture. |
| 178 | + |
| 179 | +--- |
| 180 | + |
| 181 | +### Laravel Admin Panel |
| 182 | + |
| 183 | +> 🔗 [View Laravel Admin Panel Repository](https://github.com/soheilkhaledabdi/shop-admin-panel) |
| 184 | +
|
| 185 | +Alongside the Kotlin backend, the project also provides a **Laravel + Livewire** admin panel for managing the e-commerce platform. |
| 186 | + |
| 187 | +#### Features |
| 188 | + |
| 189 | +- **Admin Dashboard**: Manage products, categories, orders, and customers seamlessly. |
| 190 | +- **Laravel & Livewire**: Combine Laravel’s backend power with Livewire’s reactive UI components. |
| 191 | +- **Comprehensive API**: Designed for extensibility and easy integration with the shopping platform. |
| 192 | + |
155 | 193 |
|
156 | 194 |
|
157 | 195 | ## How to run web locally ? |
|
0 commit comments