This is a React Native LMS using a Strapi backend for course content, Clerk for user authentication and RevenueCat for in-app purchases.
Featured Packages:
- Expo Router file-based navigation
- Expo DOM Components for supporting HTML content
- Expo API Routes for API calls
- NativeWind for styling
- Strapi for content management
- Clerk for user authentication
- RevenueCat for subscription management
- Blocks Renderer for content blocks
- Reanimated 3 for animations
- Expo Video for video playback
- Confetti for confetti animations
- Sonner for toast notifications
Make sure you have the Expo CLI installed.
Because we are using pre-built and a custom development client, you should download Android Studio and Xcode to your Mac. For more information on setting up your development environment, refer to the Expo documentation for Android Studio and the React Native documentation for Xcode.
To build the app, perform the following steps:
- Clone the repository
- Run
npm install
- Run
npx expo prebuild
- Run
npx expo run:ios
ornpx expo run:android
- Deploy your project using EAS Hosting
- Update the
app.json
to include your Expo Router origin - Upload your local
.env
witheas env:push --path .env
- Clone the Strapi project from here
- Run the project locally using
npm run start
or deploy using Strapi Cloud - Update the
.env
file of the React Native App with the correct Strapi URL and token
- Setup the RevenueCat project and connect it to your Appstore & Stripe account
- Update the
.env
file of the React Native App with the correct RevenueCat API Key - Insert the RevenueCat identifier for your product in the Strapi CMS of a premium course
Take a shortcut from web developer to mobile development fluency with guided learning
Enjoyed this project? Learn to use React Native to build production-ready, native mobile apps for both iOS and Android based on your existing web development skills.