Flutter Mobile App + Node.js Back End Tutorial – Code an Amazon Clone [Full Course]

Ecommerce Empire Academy

Build a full stack e-commerce app with Flutter, Javascript, Node.js, Express, MongoDB and Mongoose.

In this tutorial, you'll learn to build the UI of Amazon from scratch, create REST APIs, store data in MongoDB using Mongoose, use REST APIs with Flutter & Dart using Models, use the Flutter State Management tool as a provider, and create a cross platform app that works on Android and iOS.

💻 Source Code:
💻 Colors and Images:

✏️ Rivaan Ranawat created this course. Check out his channel:
📌 Rivaan's Discord Server:

⭐️ Course Contents ⭐️
(0:00:03) Introduction & Demo
(0:01:04) Setting Up The Flutter Project
(0:05:30) Setting Up Themes
(0:09:05) Folder Structure
(0:10:31) Setting Up Routes
(0:16:58) Auth Screen UI
(0:38:57) What is Node.js
(0:39:53) Node.js Installation
(0:41:51) Initialising Node
(0:45:06) First Node.js Script
(0:46:47) NPM & Dependencies
(0:52:25) Creating Server
(0:58:39) Nodemon
(1:02:37) Create your First API
(1:08:49) Exercise 1: Create GET API
(1:09:19) Solution 1
(1:20:12) Routers
(1:17:45) Middleware
(1:21:33) Sign up Route
(1:26:31) Connecting to MongoDB
(1:33:17) Creating User Model
(1:42:34) Sign up Route cntd
(2:09:19) Connecting Sign Up Route With Client Side
(2:31:04) Adding TextField & Form Validator
(2:34:45) Sign In Route / Exercise 2
(2:37:12) Creating Sign In Route (Solution 2)
(2:47:57) Connecting Sign In Route with Client Side
(3:04:01) Persisting State
(3:25:11) Creating BottomNavBar
(3:36:33) Account Screen UI
(4:04:39) Home Screen UI
(4:41:35) Admin Screen BottomNavBar
(4:49:38) Add Product Screen UI
(5:08:21) Picking Images
(5:17:16) Admin – Selling Product
(5:28:43) Create Admin Middleware / Exercise
(5:29:24) Solution
(5:31:39) Sell Product Contd.
(5:48:36) Admin – Fetching & Displaying All Products
(6:08:39) Admin – Deleting Product
(6:17:09) Self Exercise (Add Product Realtime)
(6:17:43) Getting & Displaying Products Based on Category
(6:41:19) Searching & Displaying Products
(6:47:59) Optional Exercise (Creating Search Product API)
(7:06:14) Product Details Screen UI
(7:25:58) Rating Products
(7:31:09) Rating Product API / Exercise
(7:31:43) Solution
(7:41:00) Display Ratings
(7:50:34) Fetch Deal of The Day (Optional Exercise)
(8:05:05) Adding To Cart
(8:31:46) Displaying Cart Products
(8:52:08) Decreasing Quantity in Cart
(9:00:33) Address Screen
(9:10:53) Adding GPay/ Apple Pay
(9:32:56) Storing User Address & Ordering
(9:55:55) Viewing My Orders
(10:06:07) Viewing Order Details
(10:28:37) Admin – Viewing All Orders
(10:37:42) Admin – Change Order Status
(10:45:53) Total & Category-Wise Earnings
(11:04:34) Display Sales Chart
(11:09:44) Log Out
(11:14:29) Deployment to Heroku
(11:19:55) Testing on Android Device
(11:21:46) (Bonus) Flutter 3 (Everything Works!)
(11:24:35) Material 3

🎉 Thanks to our Champion and Sponsor supporters:
👾 Raymond Odero
👾 Agustín Kussrow
👾 aldo ferretti
👾 Otis Morgan
👾 DeezMaster

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

And subscribe for new videos on technology every day:

51 thoughts on “Flutter Mobile App + Node.js Back End Tutorial – Code an Amazon Clone [Full Course]”

  1. Universe Code

    As a Js – React dev, I Know React Native but always curious to see something different … Behind Flutter there is Google so 🤩

    1. Flutter is super accessible to someone who knows react/js! You’ll find dart really enjoyable 🙂

    2. Magacayga Maxamuud

      I switched from react native to flutter it is super easy and fast with beitifull widgets

  2. I do enjoy seeing a flutter tutorial on the channel, but 12 hours in one go is pretty chunky! I think some segmented (part 1-part x) videos would be cool too 🙂

    1. Quincy Larson

      I find it easier to bookmark a single course video and come back to it over several session 🙂 Be sure to check the detailed time stamps in the description.

  3. I did that Instagram clone course released 4 months ago here, since then I have kept studying flutter every day, and now I can see a lot of progress.
    Don’t give up on your studies, keep going even if it is a tiny step each day.

    1. @Lewra I am used Firebase auth.
      I’m currently focusing on studying more basic concepts like advanced dart, clean code, architecture and tdd, since I started learning development with Flutter, I could understand my lack of basic knowledge about development as a whole.

    2. @Rafael Alves Can you please send some tutorials or how you learn those topics, as I am trying to learn that stuff too.

    3. @BobamaI usually search on youtube or medium, get the most recent content and study it, medium is pretty good, people aways post good contents there.

  4. Yuri dos Santos

    If someone asks to me to make a Amazon Clone like that, I would ask 1 month to get this done, but you made it in 12 hours! That’s insane.

    1. To be fair, these courses are usually done prior to recording and then it’s just redoing it while explaining

  5. HI does this course also teach flutter or do you have to already know it before taking this course 😉

  6. Isheanesu Gwangwanyu

    Hi there, I seem to have encountered a bug where my app doesn’t automatically go to the home screen, it first goes to auth screen then after a while it then goes to the home screen, how do I solve that? Any ideas?

    1. run your node server before launching flutter app, because flutter app will try to get the user data from the server, if the server is not running already it won’t go to home screen

    2. Isheanesu Gwangwanyu

      @Faris Abbasi I am running my server first but it seems like my app first goes to the auth screen then collects the user data from the server and then it goes to the home page, I haven’t finished the tutorial yet so I assume there might be an additional splash screen that could execute the user data grab before I get to the auth screen.

    3. @Isheanesu Gwangwanyu I didn’t finish either, I hope there is a splash screen which you talked about but I think it’ll be easy to implement.

  7. Natthaphakhan Khunchan

    I got stuck at 3:24:32 when i finished the Persisting State and then i hot restarted my app. The nodejs server and Flutter crashed. I tried to fix it but still not working Has anyone encountered the same problem as me? What should I do?

    1. Isheanesu Gwangwanyu

      Hi what exactly is the cause of the crash? Are you getting an error log?

  8. Thank you for this & I’m excited to do it. I have a video request, if you’re open to taking it: FB messenger or Whatsapp clone with a similar stack!

    1. @Davyd O it’s called a request for the maker of the videos sweetheart. Bless your heart that you felt the need to respond to me 😘

    2. Rivaan Ranawat

      Thanks for the request! Whatsapp Clone is coming next week but with Firebase, not this tech stack. Will make a video on FB Clone with this stack.

  9. For anyone watching this wondering where he gets the “Generate JSON serialization” option at 2:13:00, it’s a VSCode extension called “Dart Data Class Generator”. The original version he has is no longer on the marketplace, but there are forks of it still available.

Comments are closed.