A simple yet polished photo viewer app built with React Native (Expo) and Ruby on Rails API, designed to help users explore a gallery of food photography filtered by category.
![]() |
![]() |
![]() |
|---|
![]() |
![]() |
![]() |
|---|
This mobile app allows users to browse high-quality food photos categorized by type (e.g., sushi, burger, pizza). Users can filter by category and tap on any photo to view more details like title and photographer.
- Full-stack: React Native frontend + Rails backend
- Modern UI with dark/light theme
- Responsive image aspect ratio handling
- Modular code structure with hooks
- Expo-compatible; works on both Android and iOS
- RESTful API with clean JSON responses
- Ruby 3.3+
- Rails 8+
- SQLite (default)
- Bundler
cd backend
bundle install
bin/rails db:setupThis will:
- Create the database
- Run migrations
- Seed with food photos (title, category, photographer, image URL)
bin/rails server -b 0.0.0.0The API will be available at:
http://<YOUR-IP>:3000/api/v1/photosUse this IP in your mobile API code (e.g., usePhotos.ts):
axios.get('http://<YOUR-IP>:3000/api/v1/photos');ipconfig getifaddr en0 # macOS- Node.js v20+
- Expo CLI:
npm i @expo/cli
cd mobile/photo-viewer
npm installnpx expo start
Press i to open in iOS Simulator (macOS only)
Press a to open in Android Emulator
Or scan the QR code using the Expo Go app on your physical device




