How nathan-oliveira/semana_omnistack_8 works
Tindev is a developer-discovery and mutual-like matching app with web and React Native clients backed by an Express/MongoDB service. Users enter through a login view, browse developers, like or dislike profiles, and see a match when likes are mutual. The sampled source confirms profile lookup/creation, browsing filters, reactions, and Socket.IO match delivery. Login internals and the data model definition were not sampled, so their detailed wiring is not represented.
Main entry points: src/routes.js API Routes · server.js HTTP Server · Dev.js Developer Model · src/routes.js Web Routes
Components 18
Client Apps
- Web Routes
frontend/src/routes.js - Web Login
frontend/src/pages/Login.js - Web Discovery
frontend/src/pages/Main.js - Web API Client
frontend/src/services/api.js - Mobile Routes
tindev/src/routes.js - Mobile Login
tindev/src/pages/Login.js - Mobile Discovery
tindev/src/pages/Main.js - Mobile API Client
tindev/src/services/api.js
Backend Service
- HTTP Server
backend/src/server.js - API Routes
backend/src/routes.js - Profile Controller
backend/src/controllers/DevController.js - Like Controller
backend/src/controllers/LikeController.js - Dislike Controller
backend/src/controllers/DislikeController.js
Profiles and State
- Developer Model
backend/src/models/Dev.js - MongoDB
Match Notifications
- Socket.IO
backend/src/server.js
Other components
- User
- GitHub API
Connections 23
- User → Web Routes: opens
- User → Mobile Routes: opens
- Web Routes → Web Login: routes to
- Web Routes → Web Discovery: routes to
- Mobile Routes → Mobile Login: routes to
- Mobile Routes → Mobile Discovery: routes to
- Web Discovery → Web API Client: requests
- Mobile Discovery → Mobile API Client: requests
- Web API Client → HTTP Server: HTTP calls
- Mobile API Client → HTTP Server: HTTP calls
- HTTP Server → API Routes: dispatches
- API Routes → Profile Controller: dispatches
- API Routes → Like Controller: dispatches
- API Routes → Dislike Controller: dispatches
- Profile Controller → Developer Model: queries
- Like Controller → Developer Model: queries and saves
- Dislike Controller → Developer Model: queries and saves
- Developer Model → MongoDB: persists
- Profile Controller → GitHub API: fetches profiles
- HTTP Server → Socket.IO: accepts connections
- Like Controller → Socket.IO: emits match
- Web Discovery → Socket.IO: listens for match
- Mobile Discovery → Socket.IO: listens for match