How rkchoudhury/devtinder works
DevTinder is a web and mobile developer networking app. Users sign up or log in, maintain profiles, discover people in a feed, send and manage connection requests, and chat; premium membership adds payments. The repository separates React and React Native clients from an Express API with MongoDB models and Socket.IO setup. The sampled source confirms client auth/payment requests, server auth behavior, and API mounting; several other route and screen implementations were not sampled, so their detailed wiring is left out.
Main entry points: app.js Express API · App.tsx Web app · index.tsx Mobile app · auth.js Auth routes
Components 29
Client apps
- Web app
client-web/src/App.tsx - Mobile app
client-mobile/src/app/index.tsx
Identity and profiles
- Web auth
client-web/src/services/authService.ts - Mobile auth
client-mobile/src/services/authService.ts - Web profile
client-web/src/services/profileService.ts - Mobile profile
client-mobile/src/services/profileService.ts
Discovery and messaging
- Web discovery
client-web/src/services/userService.ts - Web requests
client-web/src/services/requestService.ts - Web chat
client-web/src/services/chatService.ts - Mobile discovery
client-mobile/src/services/userService.ts - Mobile requests
client-mobile/src/services/requestService.ts - Mobile chat
client-mobile/src/services/chatService.ts
Premium membership
- Web payments
client-web/src/services/paymentService.ts - Mobile payments
client-mobile/src/services/paymentService.ts
API and persistence
- Express API
server/src/app.js - Auth routes
server/src/routes/auth.js - Profile routes
server/src/routes/profile.js - Request routes
server/src/routes/request.js - User routes
server/src/routes/user.js - Chat routes
server/src/routes/chat.js - Payment routes
server/src/routes/payment.js - Realtime sockets
server/src/utils/socketUtils/initializeSocket.js - MongoDB
server/src/config/database.js - User records
server/src/models/user.js - Connection requests
server/src/models/connectionRequest.js - Chat records
server/src/models/chat.js - Payment records
server/src/models/payment.js
Other components
- App user
- Razorpay
Connections 29
- App user → Web app: uses
- App user → Mobile app: uses
- Web app → Web auth: authenticates via
- Mobile app → Mobile auth: authenticates via
- Web app → Web profile: manages profile via
- Mobile app → Mobile profile: manages profile via
- Web app → Web discovery: discovers via
- Web app → Web requests: connects via
- Web app → Web chat: chats via
- Mobile app → Mobile discovery: discovers via
- Mobile app → Mobile requests: connects via
- Mobile app → Mobile chat: chats via
- App user → Web payments: buys membership
- App user → Mobile payments: buys membership
- Web auth → Express API: POST auth
- Mobile auth → Express API: POST auth
- Web payments → Express API: POST payment
- Mobile payments → Express API: POST payment
- Express API → Auth routes: mounts
- Express API → Profile routes: mounts
- Express API → Request routes: mounts
- Express API → User routes: mounts
- Express API → Chat routes: mounts
- Express API → Payment routes: mounts
- Express API → Realtime sockets: initializes
- Express API → MongoDB: connects
- Auth routes → User records: reads/writes
- Auth routes → MongoDB: uses
- Payment routes → Razorpay: integrates