
Learn to build electro match, a full-stack mobile app, using Expo React Native with Redux and a Django backend hosted on Heroku, featuring navigation, search, filtering, and a cart.
Create a front-end expo app named electro mart, set up nativewind tailwind for react native, configure tailwind.config, and prepare a src folder with app.js, testing with expo go.
npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view @react-navigation/native-stack @react-navigation/native @react-navigation/bottom-tabs
Style the tab navigator with expo vector icons for home, favorite and cart icons based on route.name, applying ash 4 by 5 6 3 background radii 30 and white tint.
Learn to implement a search bar and category selector on the home screen of a React Native app, with safe area view, category state, and a mock product list.
Build and refine a React Native product display using a FlatList, with category filtering and search, plus a two-column layout and refresh control for updates.
Fix unique list keys by using the index, hide the top bar on keyboard, and style the no product message with centered layout, aligning with the upcoming product detail screen.
Learn to implement a product detail screen in a React Native app, enabling navigation from the home screen with params for id, image, name, description, and price.
Learn to add items to favorites in a React Native app using AsyncStorage to persist item id, image, name, and price on heart press, with toast feedback.
Load favorite items from async storage on screen focus, display them in a list with image, name, and price, delete items with a trash button, and navigate back.
Install and configure Redux Toolkit for a React Native app, create a basket slice and Redux store, and wrap the App with the Provider to enable state management.
Create a Redux basket slice with items and total price, and implement add to basket with payload, duplicate checks, and quantity and price updates for a robust cart.
Update item quantities and the total price in a React Native cart by dispatching update actions from a basket slice, handling plus and minus clicks to reflect price changes.
Switch to use focus effect in the product details screen to update cart state on focus and disable the minus button when quantity equals one to prevent going below one.
Demonstrate a checkout modal in a React Native app using react-native-modal, capture customer name, phone number, and address, validate cart, and animate with backdrop opacity and zoom.
Remove an item from the Redux basket by ID, price, and quantity, update the total, and dispatch the remove action; fix cart state for items already added.
Reset the basket by clearing items to an empty array and the total price to zero, then dispatch the clear basket action after a successful order placement.
Store placed orders in async storage with a date-based order id, then load and group them by date on the order screen, refreshing on focus.
Display placed orders on the order screen using a safe area view and a flat list in React Native, rendering orders and their items with images, names, quantities, and prices.
Fix home screen by adding a dollar sign to prices, handle offline with a network error view, and render a prehistoric man asset with wifi icon for the offline state.
Install python and add it to your path, create and activate a virtual environment, then install Django and Django Rest Framework, migrate, and run the server to access admin.
Configure Django static and media files, set media URL and route, update urls.py, install pillow, run migrations, and test image uploads to the product folder.
Set up a Django REST API by building serializers, views, and routes for categories and products, register them with a router, and enable listing endpoints.
Set up an AWS S3 bucket to host media for a Django backend, install Django storages and Boto3, and configure default file storage to serve images from S3.
Learn how to hide sensitive information by using django environ and a .env file, load environment variables in settings, and manage keys like secret key and AWS credentials.
Deploy a django app on render using gunicorn as the wsgi server, manage dependencies with a virtual environment and requirements.txt, and enable white noise for css styling.
Re-add environment variables on render after deleting them from GitHub due to a missing gitignore, then copy and paste each key and value to re-enable the deploy.
Learn to deploy a Postgres database on Render, configure Django to connect via dj-database-url, migrate data, and restore data through PgAdmin to a remote Render database.
Switch the fetch to the render API, update app.json splash and adaptive icon, and build the Android apk via Expo EAS for testing.
Fixes a type mismatch by converting price from string to number using parsefloat. Updates the cart and order flows and validates apk build and deployment.
Welcome to the ultimate hands-on course on building and deploying the captivating ElectroMart mobile application using React Native, Django, and AWS S3. Join us on this exciting journey where you'll learn cutting-edge technologies and gain practical skills to create a feature-rich, fully functional e-commerce app from scratch.
What you'll learn:
Master React Native: Dive into the world of React Native and harness its power to build stunning cross-platform mobile applications. Gain expertise in component-based architecture, UI design, and responsive layouts. Explore the usage of custom fonts, native storage, and seamlessly integrate AWS S3 for efficient image storage.
Backend Development with Django: Discover the versatility of Django, a powerful Python-based web framework, as you build the robust backend for ElectroMart. Create models, APIs, and authentication systems to enable seamless communication between the frontend and backend.
AWS S3 Integration: Harness the power of AWS S3 to efficiently store and retrieve images for your ElectroMart app. Learn how to seamlessly integrate ElectroMart with AWS S3, utilizing its secure and scalable infrastructure for reliable image storage.
Deployment and Distribution: Master the art of deploying your app using Render, a cloud platform designed for simplicity and scalability. Learn to generate APKs through EAS (Expo Application Services) and distribute your app to a global audience.
Frontend Functionality: Explore advanced frontend techniques such as sending emails using EmailJS, managing app state with Redux, and implementing toast notifications for an enhanced user experience. Leverage the Bottom Tab Navigator to create a smooth and intuitive app navigation system.
Styling with NativeWind: Utilize the power of NativeWind (React Native's Tailwind equivalent) to effortlessly style your ElectroMart app. Learn responsive design principles, create attractive UI components, and customize the app's appearance with ease.
State Management with Redux: Gain hands-on experience with Redux, a powerful state management library, to efficiently manage the app's data flow. Learn to handle complex app states and implement advanced features with ease.
User Experience Optimization: Discover techniques to improve user experience through modals, form validation, and error handling. Implement smooth animations and transitions to create an immersive and delightful user interface.
By the end of this course, you'll have the skills and knowledge to build and deploy a fully functional e-commerce app using React Native, Django, and AWS S3. Unleash your creativity, launch your career as a full-stack app developer, and set yourself apart in the rapidly growing mobile app market.
Don't miss this opportunity to become an expert in app development. Enroll now and unlock the potential of ElectroMart as you embark on an exciting journey into the world of React Native, Django, AWS S3, and beyond. Let's bring ElectroMart to life together!