A real-time messaging application built with React Native and NestJS, featuring GraphQL subscriptions for live updates.
- Real-time messaging with GraphQL subscriptions
- User authentication
- Chat rooms
- Message history
- Typing indicators
- Message updates and deletions
- Modern UI with React Native
- WebRTC support
- React Native 0.77.2
- React 18.3.1
- GraphQL (Relay 18.2.0)
- TypeScript 5.0.4
- React Navigation 7.x
- React Native WebRTC
- NestJS 10.x
- GraphQL (Apollo Server 4.x)
- WebSocket subscriptions
- TypeScript 5.1.3
- Node.js >= 18
- iOS Simulator (for iOS development)
- Android Studio (for Android development)
- Xcode (for iOS development)
- Install dependencies:
# Install frontend dependencies
npm install
# Install backend dependencies
cd backend && npm install- Start the development servers:
# Start backend (in one terminal)
npm run backend
# Start frontend (in another terminal)
npm run ios # For iOS
npm run android # For Android- Login as either User 1 or User 2 to test the messaging functionality
- Backend runs on NestJS with GraphQL
- GraphQL schema is automatically generated
- Relay compiler watches for changes
- TypeScript for type safety
- ESLint and Prettier for code formatting
npm run ios- Run iOS appnpm run android- Run Android appnpm run relay- Run Relay compilernpm run lint- Run ESLintnpm test- Run tests
npm run start:dev- Run backend in development modenpm run build- Build backendnpm run test- Run testsnpm run lint- Run ESLint