Skip to content

Busrwa/swipeit

Repository files navigation

📖 SwipeBooks – Book Discovery App

A React Native mobile app for discovering books through a Tinder-style swipe interface. Swipe right to add to your reading list, left to skip. Built with a recommendation engine, gamification system, and real-time Firebase sync.

⚙️ Tech Stack

  • React Native + Expo (SDK 51+)
  • Firebase Authentication + Cloud Firestore
  • Django REST API + Supabase PostgreSQL (book data)
  • React Navigation v6 (Stack + Bottom Tabs)
  • Reanimated 2 (60fps swipe animations on UI thread)
  • AsyncStorage (local rate limiting)

💡 Features

  • Tinder-style swipe cards with haptic feedback
  • Infinite pagination — new pages load silently as you swipe
  • Batch Firestore writes (10 swipes → 1 write, reduces cost)
  • Barcode scanner (EAN-13) for ISBN lookup
  • Recommendation engine weighted by swipe/save behavior
  • Gamification: points, 7 levels, streak tracking, badges
  • Rate limiting (client-side, no server required)
  • Weekly popularity ranking from aggregated like events

🏗️ Architecture

React Native frontend communicates with two backends:

  • Book data: Django REST API + Supabase PostgreSQL
  • User data: Firebase Firestore (favorites, streaks, swipe history, points)

🔒 Security

Firebase Auth gates all Firestore access. Security rules enforce:

  • Users write only to their own users/{uid} subcollections
  • items collection is read-only for authenticated users
  • userPoints: max ±15 points per write, all fields ≥ 0
  • likeEvents: document ID format {uid}_{bookId} enforced

🔗 Related

🚀 Getting Started

git clone https://github.com/Busrwa/swipeit.git
cd swipeit
npm install
npx expo install expo-linear-gradient expo-haptics expo-camera
# Add your Firebase config to firebaseConfig.js
npx expo start --clear

About

React Native book discovery app with Tinder-style swipe cards, Firebase sync, gamification, and a Django REST API backend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors