This is a study case of an eCommerce React Native app. The app is a simple online store that sells products. Node.js with Express is serving Rest API and MongoDB is used as database.
- Node.js, Express, MongoDB
- React Native
- TypeScript
- Expo, Expo Build
- Expo-router
- Redux, Redux Thunk, Redux Toolkit
- RTK Query
- Stripe Payment Gateway
- Setup Development Environment
- Initialize a Node.js Project with TypeScript
- Safe Environment Variables
- JWT Authentication, MongoDB, and Node.js
- Create a Middleware to Validate the Authenticated User
- Create a Service to Communicate with the Database
- Create the User Controller to Test Authorization
- Define a function to deserialize the User
- Define a Middleware to Restrict Unauthorized Access
- Create the Authentication Routes
- Register users
- Login user
- Products CRUD
- Orders CRUD for authenticated user
- Stripe Payment Gateway
- React Native, Redux Toolkit & RTK Query setup
- ESLint, Prettier setup
- Create a Custom Fetch Base in RTK Query
- Use safe environment variables in React Native
- Create the API Queries and Mutations with RTK Query
- Connect the Queries and Mutations to the Store
- RTK Query Cache manipulation
- React RTK Query CRUD
- Expo development builds
- Stripe integration
- Configure new expo router
- User authentication flow
- Secure token storage