Welcome To This Course & What To Expect! 
 
Join our Online Learning Community 
 
A Glance Under The Hood Of React Native 
 
Creating React Native Projects: Expo CLI vs React Native CLI 
 
Creating React Native Projects 
 
Creating a New React Native Project 
 
Analyzing The Created Project 
 
Running Our First App On A Real Device! 
 
Setting Up A Local Development Environment 
 
Course Resources Code Snapshots & How To Use 
 
Exploring Core Components & Component Styling 
 
Working With Core Components 
 
Styling React Native Apps 
 
React Native: Core Components Styling & Colors - More Information 
 
Exploring Layouts & Flexbox 
 
Using Flexbox To Create Layouts 
 
Components Styles Layouts 
 
Managing A List Of Course Goals (in our Demo App) 
 
iOS & Android Styling Differences 
 
Making Content Scrollable with ScrollView 
 
Optimizing Lists with FlatList 
 
Splitting Components Into Smaller Components 
 
Working on the "Goal Input" Component 
 
Handling Taps with the Pressable Component 
 
Making Items Deletable & Using IDs 
 
Adding an Android Ripple Effect & an iOS Alternative 
 
Styling the Modal Overlay 
 
Opening & Closing the Modal 
 
Working with Images & Changing Colors 
 
Module Introduction & What We'll Build 
 
Starting Setup & Analyzing the Target App 
 
Setting Up our Screen Components 
 
Styling for Android & iOS 
 
Styling the "Number Input" Element 
 
Configuring the TextInput Field 
 
Adding Visual Feedback to the Buttons 
 
Coloring the Components & The Overall App 
 
Adding a Background Image 
 
Getting Started with the Game Logic 
 
Handling User Input & Showing an Alert Dialog 
 
Switching Screens Programmatically 
 
Starting Work on the Game Screen 
 
Respecting Device Screen Restrictions with the SafeAreaView 
 
Creating a Title Component 
 
Creating Using & Displaying Random Numbers 
 
Adding Game Control Buttons ("+" & "-") to the App 
 
Improving the Game Screen Visuals 
 
Working with Icons (Button Icons) 
 
Adding & Using Custom Fonts with React Native Apps 
 
Adding a (Foreground) Image 
 
Using & Styling Nested Text 
 
Adding Logic to (Re-)Start Games & Displaying a Summary Screen 
 
Outputting Log Data with FlatList 
 
Styling the Game Round Logs 
 
Introducing the Dimensions API 
 
Adjusting Image Sizes with the Dimensions API 
 
Understanding Screen Orientation Problems 
 
Setting Sizes Dynamically (for different Orientations) 
 
Managing Screen Content with KeyboardAvoidingView 
 
Improving the Landscape Mode UI 
 
The Dimensions API & Responsive UIs 
 
Further Improvements with useWindowDimensions 
 
Writing Platform-specific Code with the Platform API 
 
Getting Started with the App & Outputting Meal Categories 
 
Displaying Items in a Grid 
 
Getting Started with the React Navigation Package 
 
Implementing Navigation Between Two Screens 
 
Setting the Default Screen 
 
Understanding the useNavigation Hook 
 
Working with Route Parameters To Pass Data Between Screens 
 
Styling Screen Headers & Backgrounds 
 
Setting Navigation Options Dynamically 
 
Adding & Configuring the Meal Details Screen 
 
Outputting Content in the Meal Detail Screen 
 
Finishing the Meal Detail Screen 
 
Adding an Icon Button to a Header 
 
Adding Drawer Navigation & Creating a Drawer 
 
Configuring the Drawer Navigator & The Drawer 
 
Adding Configuring & Using Bottom Tabs 
 
Bottom Tabs & App Finishing Touches 
 
Getting Started with React's Context API 
 
Managing App-wide State with Context 
 
Using the Created Context with useContext 
 
Managing Favorite Meals with the Context API 
 
Getting Started with Redux & Redux Toolkit 
 
Working with Redux Slices 
 
Managing Redux State & Dispatching Actions 
 
Using Redux State in Components 
 
Module Introduction & What We'll Build 
 
Adding Navigation (with React Navigation) & Configuring Navigation 
 
Adding Global Colors & Editing Navigation Configuration 
 
Creating Key App Components to Display Expenses 
 
Continuing Work on the Expense-related Components 
 
Adding Dummy Expense Data 
 
Outputting a List of Expenses 
 
Improving App Layout & Styling 
 
Working on Expense List Items 
 
Adding a Header Button & Making Expense Items Tappable 
 
Navigating Programmatically Between Screens 
 
Styling The Expense Management Screen 
 
Supporting Different Editing Modes & Using Route Parameters 
 
Closing A Modal Programmatically 
 
Managing App-wide State With Context 
 
Using Context From Inside Components 
 
Deleting & Updating Expenses 
 
Building a Custom Input Component 
 
Configuring the Form Input Elements 
 
Handling User Input in a Generic Way 
 
Managing Form State & Submission 
 
Working with Entered Data 
 
Setting & Using Default Values 
 
Providing Visual Validation Feedback 
 
Sending POST Http Requests 
 
Fetching Backend Data (GET Requests) 
 
Transforming & Using Fetched Data 
 
Using Response Data from POST Requests 
 
Updating & Deleting Backend Data (UPDATE & DELETE Requests) 
 
Managing the Loading State 
 
How Does Authentication Work? 
 
Controlling Signup & Login Screens 
 
Sending Authentication Requests to the Backend 
 
Authentication Error Handling 
 
Storing & Managing the User Authentication State (with Context) 
 
Extracting the Authentication Token 
 
Adding a Logout Functionality 
 
Accessing Protected Resources 
 
Storing Auth Tokens on the Device & Logging Users In Automatically 
 
A Note About Token Expiration 
 
Adding a "Favorite Places" List 
 
Editing the Favorite Place Items 
 
Adding an "Add Place" Screen + Navigation 
 
Getting Started with a Custom Form 
 
Adding & Configuring the Camera Package (for Native Camera Access) 
 
Taking Photos on iOS + Managing Permissions 
 
Getting Started with the Location Picker 
 
Adding a Location Preview Map 
 
Adding an Interactive Map (Google Maps & Apple Maps) 
 
Allowing Map Interaction & Adding Markers 
 
Confirming Picked Locations 
 
Previewing Picked Locations 
 
Adding a Form Submit Button 
 
Managing Location & Image State in the Form 
 
Converting Picked Locations to Human-Readable Addresses 
 
Passing Entered Data to the "AllPlaces" Screen 
 
Outputting a List Of Places 
 
SQLite: Getting Started & Initialization 
 
Preparing Code to Insert Data into the SQLite Database 
 
Inserting Places into the Database 
 
Fetching Places from the Database 
 
Adding the Place Details Screen 
 
Fetching Place Detail Data from the Database 
 
How Exactly Does Expo Work? 
 
Using Expo's Bare Workflow 
 
Using Native Device Features with the Bare Workflow 
 
Ejecting To The Bare Workflow 
 
Creating Projects with the React Native CLI (no Expo) 
 
Non-Expo Apps & Native Device Features 
 
Publishing Apps: An Overview 
 
Key Configuration Items & Considerations 
 
Configuring App Names & Versions 
 
A Quick Note About Environment Variables 
 
Adding Icons & A Splash Screen 
 
Building Expo Apps with EAS 
 
EAS for iOS (even on Windows Devices) 
 
Building for iOS Without Expo 
 
Building for Android Without Expo 
 
What are (Local) Notifications? 
 
Adding the Expo Notification Package 
 
Configuring Scheduled Notifications 
 
Handling Incoming Notifications 
 
Local Notifications - Permissions 
 
Reacting To Incoming Notifications 
 
Reacting To User Interaction With Incoming Notifications 
 
Understanding Push Notifications 
 
Sending Push Notifications