Tinder-style chat & swipe app built with Expo + React Native (TypeScript).
This folder contains the frontend (Expo) app for SwipeTalk. It implements the swipe deck, match flows, chat UI, optimistic messaging, socket integration, and push notification registration.
Prerequisites:
- Node.js (16+ recommended)
- Yarn or npm
- Expo CLI (optional but recommended)
Install dependencies:
yarn install
# or
npm installRun the app in development:
npx expo start
# or
yarn expo startOpen on a device using Expo Go or a dev client. (see .env.template).
See .env.template for variables used by the app. Important: EXPO_PROJECT_ID (or equivalent) is needed for obtaining Expo push tokens on physical devices.
- Swipe deck with optimistic like/pass actions
- Match modal and navigation to chat
- Chat list + infinite scroll messages
- Optimistic message sending and real-time socket updates (socket.io-client)
- Centralized API client and mappers
This frontend expects a companion backend that provides REST endpoints and a socket.io server. If you have the backend in this workspace, run it separately and point API_BASE_URL in the environment to it.
app/— Expo app routes and screenspresentation/— UI components and hookscore/api/— centralized axios client & sockets
- Clear Metro cache if you see stale code:
npx expo start -c - If push tokens fail with 400, confirm
projectIdand use a physical device.
Open a PR with small, focused changes. Run the app locally and include testing steps in your PR description.
MIT
