
Build a live multi-store app from front to back using Flutter, Node.js, Express, and MongoDB. Create a responsive UI, secure login, and real-time data management for users, products, and orders.
Create a flutter project by installing flutter and running flutter create with your chosen project name, then cd into the project directory and open it in VS Code.
Explore mvc architecture in a flutter project by organizing models, views, and controllers, defining fields and screens, and consuming backend apis for sign up and sign in.
Configure a flutter project by creating an assets folder for images and icons, updating the postback yml to point to assets, and then stop and rebuild from main.dart.
Install the Google Fonts package from pub.dev in Flutter, copy it, and paste into the dependencies section of your project file, then save and rebuild.
Create a login screen by building an organized authentication view in Flutter, using a stateless widget, a scaffold layout, a centered column, styled text with Google fonts, and image assets.
Build email and password text form fields in Flutter, styling with Google fonts, borders, fill color, icons, and labels, and arrange them with alignment, padding, and vertical spacing.
Learn to build a sign-in button from scratch on the login screen using a container with width, height, border radius, and a two-color linear gradient.
Advance button demonstrates building a custom Flutter button with stack and positioned widgets, opacity, borders, border radius, and a centered sign-in label styled with Google fonts.
Create a flutter register screen similar to the login screen, add a full name field, and provide a centered row for 'need an account' and 'sign up' with inkwell navigation.
Add validation to the Flutter register form by creating a global form key, wrapping fields in a Form widget, and validating email, full name, and password on submission.
Implement login form validation with a global form key, validators for email and password, and tap-triggered validation, plus a single child scroll view to prevent overflow.
Install Node.js by downloading it from the official site, then verify the installation by running node -v in your terminal.
Create a backend API project to separate front end and back end logic, using mkdir to make the folder, cd to enter it, and open in VSCode.
Initialize node in the project using npm init to create a package.json with name, version, description, entry point index.js, author, and license.
Learn to create your first back-end script in Node.js by setting up index.js as the entry point, printing hello world with console.log, and running it with node.
Install express and import it in index.js to create an express app for APIs. Start the server by defining port 3000, listening on 0.0.0.0, and log the server is running.
Create your first api endpoint with express by handling a get request to /hello, sending hello world as a response, and running the server on port 3000.
Learn how to organize node.js back-end code by separating a route into a dedicated routes folder, creating a hello.js with express router, exporting and mounting it in index.js via app.use.
Integrate MongoDB, a NoSQL database, by creating a project and cluster, generating a connection string, importing mongoose, and connecting the database to your Node.js backend.
Create a user model for the sign up API by defining a mongoose schema in models/user.js, with full name, email, and password required, plus optional state, city, and locality.
Implement client-side email and password validation for a multi-store app by using an email regex and enforcing a minimum password length of eight characters, building a custom api from scratch.
Create a signup api endpoint with express router, import the user model, post to /api/signup, destructure full name, email, and password, check for existing user, save, and return json.
Learn to catch and report errors in a signup api, return 500 internal server errors with a json message, validate unique emails, create and save users, and connect to MongoDB.
Test the sign up API endpoint using Thunder client, configure express.json parsing, and validate user data with MongoDB storage, illustrating success and error handling.
Hash and secure passwords by using bcrypt.js with a cost factor of 10 to produce salted hashes, replacing plain text storage and showing that identical passwords yield different hashes.
Create a sign in api endpoint using a post route /api/signin, validate user credentials with bcrypt, generate a json web token, and return token plus user data without the password.
Test login validation by simulating a wrong password and an unknown email to ensure all programmed checks respond correctly.
Handle sign-in errors with express by returning 500 for internal server errors and 400 for client errors, using bcrypt and jwt to authenticate users.
Explore how to create a Flutter user model for a sign up API, defining fields like id, full name, email, state, city, locality, and password with a required constructor.
Convert the user object to a map as an intermediate step to serialize to JSON for storage or transmission, sending data to MongoDB.
Convert a user object to a map and then serialize it to a json string using json.encode, enabling cross-system communication for building multi-store apps.
Deserialization converts a map from a JSON API into a user object, using a factory constructor to map fields and default missing ones to empty strings for safe app use.
Convert the user object to a map for easy JSON serialization and storage in MongoDB. Use factory constructors to decode JSON back into a user object in your app.
Create a http response handler by installing the http package and creating manage_http_response; switch on status codes to decode json messages, show snackbars, and navigate on success.
Learn to access the server from an Android emulator by replacing localhost with your IP address, and in the leaf folder create a global_variables file to store the URI http://ip_address:3000.
Learn to consume the signup api in a Flutter app by building an auth_controller, posting user json to the server, and handling responses.
Capture email, full name, and password on the register screen, validate the form, and call the sign up users function in the auth controller to create the account.
Learn to consume a sign-in api in a flutter app by posting email and password as json from the auth controller, with headers and error handling.
Add an auto-generated token to the client user model to persist sign-in state across sessions, updating the model, constructor, and related client-side logic.
Improve auth user experience by implementing an async login and register flow with a circular progress indicator and a loading state updated via setState.
Create the main screen for the app by building a stateful widget in the screens folder, returning a scaffold with a centered welcome message, and preparing for post-sign-in navigation.
Demonstrates a Flutter sign-up and login flow, moving from register to main screen after sign-in, and uses navigator push and remove until to disable back navigation.
drop the user collection and create a new test account to reset the app, then sign up, sign in, and verify navigation to the main screen.
Create a bottom navigation bar in flutter using scaffold, populate items with asset images from assets/icons, and set the bar type to fixed to reveal labels.
Implement a bottom navigation bar with a current index and five items, defaulting to home, and update the page by migrating from a stateless to a stateful widget with setState.
Create bottom navigation bar item screens by organizing home, favorite, stores, cart, and account pages as a list of widgets, using scaffold and center with test text labels.
Do you want to build a real-world, scalable multi-vendor mobile app using Flutter and Node.js, complete with online payments?
In this course, you’ll learn full-stack mobile development by building a complete multi-store (multi-vendor) application from scratch, using Flutter for the frontend, Node.js and Express for the backend, MongoDB for data storage, and Stripe for secure online payments.
This is not a demo or a basic CRUD app. You’ll build a production-style application with real business logic and advanced features used in modern e-commerce and marketplace platforms.
By the end of this course, you will have a fully functional multi-vendor mobile app with:
Flutter mobile app (Android & iOS)
Node.js + Express backend
MongoDB database
User authentication and authorization
Multi-store / vendor management
Product and category management
Shopping cart and checkout system
Stripe payment integration
Order and payment tracking
RESTful API integration
Clean, scalable project architecture
You’ll learn how to build modern mobile UIs, structure scalable projects, connect the frontend to backend APIs, implement authentication and user roles, integrate Stripe payments, and handle real-world app flows like checkout and orders.
This course gives you practical, production-ready skills you can use for jobs, freelancing, or building your own apps confidently and efficiently.