We may earn an affiliate commission when you visit our partners.
Course image
Stefan Jovanovic

From Figma Design project, to the actual Android and iOS application.

We're gonna build a complete E-commerce solution from scratch, and I mean truly from scratch. Together, we'll design the UI in Figma, and then bring that design to life using Jetpack Compose — for both Android and iOS — using Kotlin Multiplatform.

What’s Inside?

We’ll follow a clean, multi-modular architecture with the MVVM pattern to keep the project scalable, maintainable, and production-ready.

Read more

From Figma Design project, to the actual Android and iOS application.

We're gonna build a complete E-commerce solution from scratch, and I mean truly from scratch. Together, we'll design the UI in Figma, and then bring that design to life using Jetpack Compose — for both Android and iOS — using Kotlin Multiplatform.

What’s Inside?

We’ll follow a clean, multi-modular architecture with the MVVM pattern to keep the project scalable, maintainable, and production-ready.

Our app will be a food supplements store, featuring products from multiple categories. And yes — we’re building for real-world usage.

Key Features

  • User Authentication – Sign in with Google using Firebase Auth.

  • Shopping Cart – Users can browse, select, and add products to their cart. Some products include customizable options like flavors.

  • Checkout & Payments – We’ll implement two payment options:- Pay on Delivery- Pay with PayPal — and I’ll show you how to integrate the PayPal API to handle transactions securely.

  • Email Order Confirmation – Once an order is placed, an automated email is sent with all the order details: product info, total price, payment method, and shipping details.

  • Admin Panel – A secure area accessible only to store owners where you can add, update, or delete products.

Backend with Firebase

We’ll use a full suite of Firebase services:

  • Authentication – Sign in with Google.

  • Cloud Firestore – As our main database, with security rules.

  • Firebase Storage – For storing product images.

  • Cloud Functions – To automate email notifications.

  • Cloud Messaging – For push notifications.

30 Hours of Practical Content

This course packs nearly 30 hours of high-quality, real-world development. I didn’t cut out the bugs, issues, or debugging moments — you'll see everything, so you can learn how to handle real development challenges.

Who is this course for?

This is not a beginner-level course. You should already be familiar with Kotlin and Jetpack Compose. If you're just starting out, I’d recommend learning the basics first.

But if you're ready to take your skills to the next level and build a cross-platform, real-world E-commerce app using KMP, this course is packed with value and practical knowledge.

Let's build something great.

Enroll now

What's inside

Learning objectives

  • Build an ecommerce app for android & ios
  • Share the ui layer using compose multiplatform framework
  • From figma to jetpack compose (ui design process)
  • Multi-modular architecture for scalable apps
  • Shopping cart feature to allow users to add products
  • Automated emails when a new order is created
  • Admin panel
  • Pay on delivery feature
  • Pay with paypal integration
  • Kotlin multiplatform technology
  • Firebase kmp sdk
  • Firebase firestore (+ security rules)
  • Firebase authentication
  • Firebase storage
  • Firebase cloud functions
  • Firebase cloud messaging
  • Push notifications
  • Crud operations
  • And more!
  • Show more
  • Show less

Syllabus

Introduction
Is this course for you?
Project Design Overview
Project Architecture Overview
Read more

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Activities

Coming soon We're preparing activities for Multi-Modular Ecommerce App for Android & iOS (KMP). These are activities you can do either before, during, or after a course.

Career center

Learners who complete Multi-Modular Ecommerce App for Android & iOS (KMP) will develop knowledge and skills that may be useful to these careers:
Mobile Application Developer
A Mobile Application Developer crafts the software that runs on smartphones and tablets, bringing ideas to life through code. This course offers an unparalleled opportunity to excel as a Mobile Application Developer by guiding you through building a complete multi-modular e-commerce application for both Android and iOS using Kotlin Multiplatform. You will gain hands-on experience by sharing UI layers with Compose Multiplatform, integrating Firebase for authentication, database, and cloud functions, and implementing complex features like shopping carts and payment processing with PayPal. This comprehensive, real-world development experience, including debugging and architectural design, helps build a strong foundation for developing scalable, maintainable, and production-ready applications, making you highly proficient in modern mobile development practices.
Kotlin Multiplatform Developer
A Kotlin Multiplatform Developer specializes in creating applications that share business logic and UI across various platforms from a single codebase. This course is specifically designed to cultivate expertise in this emerging field, as you build a multi-modular e-commerce app for Android and iOS using Kotlin Multiplatform. You'll work with technologies like Jetpack Compose for shared UI, integrate an extensive suite of Firebase services, and implement critical features such as user authentication, payment processing, and an admin panel. The emphasis on clean, multi-modular architecture and tackling real-world development challenges prepares you to architect and develop sophisticated cross-platform solutions efficiently and effectively.
Android Application Developer
An Android Application Developer designs and builds applications specifically for the Android operating system. While utilizing Kotlin Multiplatform, this course provides deep, practical experience in modern Android development. You will build an entire e-commerce application, focusing on bringing Figma designs to life using Jetpack Compose, a primary UI toolkit for Android. The curriculum covers essential aspects applicable directly to Android, including multi-modular architecture, Firebase integration for user authentication and data storage, push notifications, and payment processing. Learning to debug and manage real-world development challenges within the context of a production-ready application helps prepare you thoroughly for a career as an Android Application Developer.
iOS Application Developer
An iOS Application Developer creates applications tailored for Apple's iOS platform. This course, while leveraging Kotlin Multiplatform, offers significant practical exposure to building iOS applications. You will construct a full-fledged e-commerce application, implementing the UI on iOS using Compose Multiplatform, directly translating Figma designs into functional interfaces. Key feature development, such as user authentication, shopping cart functionality, payment integration with PayPal, and push notifications, is covered. The focus on a multi-modular architecture and practical debugging sessions helps develop the skills necessary to build scalable and maintainable iOS applications, making this course highly relevant for aspiring iOS Application Developers.
E-commerce Developer
An E-commerce Developer builds and maintains online stores and related systems, focusing on product presentation, shopping functionality, and transaction processing. This course directly prepares you for such a role by guiding you through the creation of a complete multi-modular e-commerce solution from scratch. You will implement key features like user authentication, shopping cart management, customizable product options, and two payment options, including PayPal integration. Furthermore, the course covers an admin panel for product management and automated order confirmations, providing a holistic understanding of the technical requirements for a robust, real-world e-commerce application.
Full Stack Engineer
A Full Stack Engineer possesses expertise across both front-end and back-end development, managing all layers of an application. This course offers a comprehensive perspective highly beneficial for an aspiring Full Stack Engineer. You will gain experience in UI design with Figma, front-end mobile development for Android and iOS using Kotlin Multiplatform and Jetpack Compose, and integrate a robust backend using Firebase services including Firestore for data management, Authentication for user handling, and Cloud Functions for server-side logic and automated emails. Building a complete e-commerce solution from scratch allows you to understand the interconnectedness of system components, from design to deployment.
User Interface Designer
A User Interface Designer focuses on the aesthetic and interactive elements of digital products, ensuring they are visually appealing and intuitive. This course directly bolsters the skills of an aspiring User Interface Designer by starting with the UI design process in Figma. You will learn essential design tools, techniques, variables, components, and auto layout, applying them to create screens for an e-commerce app, including authentication, shopping cart, and admin panels. Crucially, the course then demonstrates how to bring these designs to life using Jetpack Compose, offering a valuable understanding of the development constraints and possibilities, which helps you create practical and implementable designs.
E-commerce Solutions Architect
An E-commerce Solutions Architect designs the overall structure and components of robust e-commerce platforms. This course is highly relevant, providing a practical foundation in architecting a real-world e-commerce solution from the ground up. You will learn to implement a clean, multi-modular architecture with the MVVM pattern, crucial for scalability and maintainability. Integrating diverse services like Firebase for backend functionality, PayPal for payments, and configuring secure data flow demonstrates comprehensive system design. This experience, coupled with handling cross-platform considerations for Android and iOS, helps develop the strategic thinking needed to design complex, production-ready e-commerce systems. This role typically requires an advanced degree.
Technical Product Manager
A Technical Product Manager drives the development of products by bridging technical teams with business objectives, requiring a deep understanding of the product's technical underpinnings. This course offers valuable insights for a Technical Product Manager by immersing you in the end-to-end creation of an e-commerce application. You will gain practical knowledge of feature implementation, such as user authentication, shopping carts, and payment processes, and understand the technical complexities of integrating services like Firebase and PayPal. The focus on multi-modular architecture, production readiness, and real-world debugging helps build a comprehensive grasp of the development lifecycle, allowing for more informed decision-making and specification writing.
Frontend Engineer
A Frontend Engineer builds the user-facing parts of websites or applications, focusing on presentation and interactivity. This course primarily focuses on the mobile application frontend, providing substantial experience relevant to a Frontend Engineer. You will use Figma for UI design and then implement those designs using Jetpack Compose for both Android and iOS, sharing the UI layer efficiently. The course delves into components, navigation, and state management, essential skills for any frontend role. While focused on mobile, the principles of translating design into interactive user experiences and integrating with backend services may be useful for broadening your frontend expertise.
Payment Systems Integration Specialist
A Payment Systems Integration Specialist focuses on connecting applications with various payment gateways and financial services, ensuring secure and efficient transactions. This course offers practical, hands-on experience directly relevant to this role by specifically teaching how to integrate the PayPal API to handle transactions securely within a multi-modular e-commerce application. You will implement checkout flows, manage payment options like 'Pay on Delivery,' and understand the technicalities of secure payment processing. This direct experience with integrating a major payment API and managing transaction details may be useful for developing expertise in the critical area of payment solutions.
Technical Project Lead
A Technical Project Lead guides development teams, overseeing the technical aspects of projects from conception to completion. This course provides a strong foundation for a Technical Project Lead by immersing you in building a complex, multi-modular e-commerce application. You will gain practical understanding of architectural patterns like MVVM, cross-platform development with Kotlin Multiplatform, and the integration of multiple services such as Firebase and PayPal. The course's focus on handling real-world bugs, issues, and debugging moments also helps develop critical problem-solving and oversight skills, invaluable for guiding a team through the challenges of developing production-ready software.
User Experience Specialist
A User Experience Specialist focuses on creating products that are easy, efficient, and enjoyable for users to interact with. While the course explicitly covers UI design in Figma, the process of building a complete e-commerce application inherently involves numerous user experience considerations. You will design and implement user authentication flows, intuitive shopping cart interactions, a streamlined checkout process, and a functional admin panel. Understanding how these features are technically constructed from design to deployment may be useful for a User Experience Specialist, enabling you to better anticipate implementation challenges and design technically feasible and user-centric solutions.
Backend Engineer Firebase
A Backend Engineer specializes in server-side logic, databases, and APIs that power applications. While the course focuses on mobile, it provides significant experience with Firebase, a crucial BaaS platform often used in backend development. You will learn to use Cloud Firestore as the main database, implement security rules, integrate Firebase Authentication, utilize Firebase Storage for product images, and automate tasks with Cloud Functions for email notifications and push messaging. This hands-on experience in configuring and interacting with a full suite of cloud-based backend services may be useful for a Backend Engineer, especially those working with serverless architectures or Firebase-centric projects.
Quality Assurance Engineer Mobile
A Quality Assurance Engineer Mobile ensures the reliability, functionality, and performance of mobile applications through thorough testing. This course may be useful for an aspiring Quality Assurance Engineer Mobile by providing a deep dive into the architecture and implementation of a real-world e-commerce app. Understanding the multi-modular structure, user authentication flows, shopping cart logic, checkout processes, and admin panel functionality helps in designing comprehensive test plans and identifying potential failure points. Exposure to real development challenges and debugging techniques also helps develop an intuitive sense for common bugs and how to effectively verify fixes.

Reading list

We haven't picked any books for this reading list yet.
Kotlin in Action general-purpose book on Kotlin that includes a chapter on Kotlin Multiplatform, providing a broad overview of the topic.
Head First Kotlin beginner-friendly guide to Kotlin that includes a brief introduction to Kotlin Multiplatform.
Kotlin Multiplatform by Tutorials practical guide to Kotlin Multiplatform, providing step-by-step tutorials on building cross-platform applications.
Collection of patterns for using Jetpack Compose. It is written by two experienced software engineers who have been using Jetpack Compose since its early days. This book covers applying design principles, developing composable functions, managing state, and handling events.
Understanding Kotlin Coroutines is crucial for modern Android development with Jetpack Compose, especially for managing asynchronous operations and state flow. provides a deep dive into coroutines, which is essential for building responsive and efficient Compose applications.
Provides a comprehensive introduction to Jetpack Compose, covering fundamental concepts such as the declarative paradigm, state management, and basic UI elements. It is suitable for developers transitioning from the traditional Android View system and helps solidify a broad understanding of Compose. The book includes hands-on examples and covers testing, animation, and interoperability.
Combines learning Kotlin for Android development with building UIs using Jetpack Compose. It's suitable for beginners with no prior experience in Kotlin or Compose. The book covers basics to advanced techniques, including integrating Jetpack libraries and optimizing performance.
Is geared towards intermediate to advanced Android developers looking to deepen their understanding of Jetpack Compose. It covers fundamental concepts and progresses to more advanced topics like state handling, animations, and integrating with architectural patterns. It's a practical resource with real-world examples.
Is an up-to-date guide for beginners and those transitioning to Kotlin for Android development. It covers the fundamentals of Kotlin and its integration with Android, providing a necessary foundation for learning Jetpack Compose. While not solely about Compose, it's a good starting point for understanding the language used with Compose.
While not solely focused on Jetpack Compose, this book provides a strong foundation in Kotlin for Android development, which prerequisite for effectively using Compose. It covers Kotlin essentials, UI design (including dynamic UIs which can relate to Compose), architecture, and performance optimization.
An updated version of 'Jetpack Compose Essentials', this book covers the latest features in Jetpack Compose 1.7. It's a thorough guide for developing Android applications using Compose, Android Studio, and Kotlin, suitable for both novices and experienced programmers. It serves as a solid reference for the current state of Compose development.
Another excellent resource for learning Kotlin Coroutines, this book focuses on practical application in Android development. It helps developers simplify and optimize their code by effectively using coroutines for asynchronous tasks, which is highly relevant when working with Jetpack Compose and managing UI state updates.
Provides a focused look at Kotlin Coroutines, explaining how they simplify multi-threaded development and reactive programming. Understanding these concepts is beneficial for advanced Jetpack Compose development, particularly when dealing with complex data streams and background operations.
Addresses real-world challenges in Android development using Kotlin and the latest Android features, which would include Jetpack Compose. It uses a project-based approach to teach practical skills, helping bridge the gap between theory and application in building modern Android apps.
A comprehensive guide covering Jetpack Compose from fundamentals to advanced multiplatform implementations. is suitable for both beginners and experienced developers, covering modern UI development patterns, state management, animations, and performance optimization. It's particularly useful for those interested in Compose Multiplatform.
A practical guide that starts with the basics of setting up the development environment and introduces Kotlin programming before diving into Jetpack Compose. is excellent for beginners and helps build a solid foundation in modern Android development using Compose. It covers core concepts, UI elements, state handling, and navigation.
Focuses specifically on building confidence in using Kotlin Coroutines for asynchronous programming. Given the heavy reliance on coroutines in modern Android development with Jetpack Compose for managing background tasks and UI updates, this book valuable resource for ensuring efficient and reliable code.
While traditionally focused on the View system, the Big Nerd Ranch Guide series is known for its practical approach to teaching Android development fundamentals. A recent edition incorporating Compose would be highly relevant for gaining a broad understanding of Android development within the context of the new UI toolkit. It's often used as a textbook.
Covers building Android applications from scratch using Android Studio and includes learning the basics of Kotlin and building UI with Jetpack Compose. It provides a foundational understanding of Android development with a modern approach using Compose.
The official documentation from Google on Jetpack Compose, covering all aspects of UI development with this toolkit.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser