Objectives
Train students to build and deploy cross-platform mobile applications using React Native.
Students will learn to integrate APIs, authentication, native device features, and publish apps
to both Android and iOS platforms, preparing them for junior mobile developer roles.
Technologies
React Native
JavaScript (ES6+)
Expo
Firebase
Git
Github
Eligibility
- No prior programming experience required.
- Best suited for beginners, students, or fresh graduates interested in mobile app development.
- Also suitable for career changers aspiring to enter mobile development or cross-platform app roles.
- Device requirement: A desktop/laptop (Mac recommended for iOS builds; Windows/Linux acceptable for Android).
Program Outline
Module 1 (Wk 1): Introduction & Setup
Topics
- Mobile development landscape (native vs cross-platform)
- Why React Native?
- Setting up Node.js, npm, Expo CLI, Android Studio, and Xcode
- Creating first React Native app with Expo
Mini-Project
- Build a “Hello World” mobile app with custom styles
Module 2 (Wk 2): React Native Fundamentals
Topics
- Core Components: View, Text, Image, ScrollView, FlatList
- JSX, Props, and State
- Styling with StyleSheet & Flexbox
- Handling user input with TextInput and Button
Mini-Project
- Build a styled profile card mobile app
Module 3 (Wk 3): Navigation
Topics
- Introduction to React Navigation
- Stack, Tab, and Drawer navigation
- Passing data between screens
Mini-Project
- Multi-screen mobile app with tab navigation
Module 4 (Wk 4): State Management
Topics
- React Hooks: useState, useEffect
- Global state with Context API
- AsyncStorage for local persistence
Mini-Project
- Todo app with persistent local storage
Module 5 (Wk 5): APIs & Data Fetching
Topics
- REST APIs & Fetch API
- Handling async/await in React Native
- Displaying data in FlatList
Mini-Project
- News app fetching and displaying API data
Module 6 (Wk 6): Authentication
Topics
- User authentication (JWT / Firebase Auth)
- Secure storage of tokens
- Protected routes and conditional rendering
Mini-Project
- Login & Signup mobile app with Firebase
Module 7 (Wk 7): Native Features
Topics
- Accessing camera & gallery
- Push notifications
- Geolocation and maps integration
Mini-Project
- Photo capture app with gallery view
Module 8 (Wk 8): Performance & Debugging
Topics
- Performance optimization in React Native
- Profiling & debugging with React DevTools
- Error handling & logging
Mini-Project
- Optimize a laggy mobile app with performance fixes
Module 9 (Wk 9): Testing
Topics
- Unit testing with Jest
- Component testing with React Native Testing Library
- End-to-end testing basics
Mini-Project
- Write tests for an authentication flow
Module 10 (Wk 10): Deployment
Topics
- Preparing builds for iOS & Android
- Publishing apps to App Store & Google Play
- Using Expo EAS for easier deployment
Mini-Project
- Deploy a test app to both platforms
Module 11 (Wk 11): Advanced Topics
Topics
- Animations (React Native Reanimated, Lottie)
- Deep linking
- Offline-first apps & caching
Mini-Project
- Animated weather app with offline caching
Module 12 (Wk 12-13): Capstone Project
Capstone Project
- Build a full-featured mobile app (student choice)
- Include navigation, API integration, authentication, and native features
- Deploy final app to both iOS and Android
- Presentation & peer review