This project is a mobile application built with React Native (Expo), TypeScript, React Query, and MobX. It consumes a test API and demonstrates handling of loading, error, and empty states, along with optimistic updates and modern UI patterns.
git clone https://github.com/Bobstyle23/feeds
cd feedsnpm installor
yarn installnpx expo starti- Open Android Studio
- Start an emulator from Device Manager
- Then run:
a- Install Expo Go on your phone
- Scan the QR code from terminal
- NOTE: I have used latest expo sdk v55. Expo Go on mobile supports 54 only for now
The API supports a special query parameter:
simulate_error=true (Default is false, to trigger error change it to true)This forces the backend to return a 500 error.
Inside usePosts API call:
getPosts({
limit: 10,
simulateError: true,
});- Initial load error (full screen error)
- Empty state (no posts)
- Optimistic updates (like button)
- React Native (Expo)
- TypeScript
- React Query — server state management
- MobX — client/UI state
- Infinite scrolling posts feed
- Optimistic like/unlike updates
- Pull-to-refresh
- Paid content with blur overlay
- Full error handling
MukhammadBobur Pakhriev