How flaviusstefan/flirtly works
Flirtly is a dating platform where users register or log in, discover and like profiles, customize profiles with photos, and message other users; administrators and moderators also manage users and photo moderation. The Angular client calls the .NET API, which handles identity, profile and interaction operations over persisted application data, with SignalR supporting live communication and presence. The tree and sampled files establish the account, profile, message and repository paths; some feature wiring, including likes and real-time clients, is documented or visible in the tree but not sampled.
Main entry points: UnitOfWork.cs Unit of work · DataContext.cs Data context · members.service.ts Members service · AccountController.cs Account API
Components 25
Angular client
- Angular app
client/src/app/app.module.ts - Account service
client/src/app/_services/account.service.ts - Member and profile UI
client/src/app/members - Members service
client/src/app/_services/members.service.ts - Admin UI
client/src/app/admin - Messages UI
client/src/app/messages/messages.component.ts - Message service
client/src/app/_services/message.service.ts - Presence service
client/src/app/_services/presence.service.ts
Identity and profiles
- Account API
API/Controllers/AccountController.cs - Token service
API/Services/TokenService.cs - Users API
API/Controllers/UsersController.cs - Admin API
API/Controllers/AdminController.cs - Photo service
API/Services/PhotoService.cs
Likes and messaging
- Likes API
API/Controllers/LikesController.cs - Messages API
API/Controllers/MessagesController.cs
API and persistence
- Unit of work
API/Data/UnitOfWork.cs - User repository
API/Data/UserRepository.cs - Message repository
API/Data/MessageRepository.cs - Data context
API/Data/DataContext.cs
Live communication
- Message hub
API/SignalR/MessageHub.cs - Presence hub
API/SignalR/PresenceHub.cs - Presence tracker
API/SignalR/PresenceTracker.cs
Other components
- User
- PostgreSQL
- Cloudinary
Connections 25
- User → Angular app: uses
- Angular app → Account service: restores session
- Member and profile UI → Members service: requests profiles
- Members service → Users API: HTTP requests
- Members service → Likes API: HTTP requests
- Admin UI → Admin API: manages roles
- Messages UI → Message service: uses
- Message service → Messages API: HTTP requests
- Presence service → Presence hub: connects
- Account service → Account API: HTTP requests
- Account API → Token service: creates token
- Account API → Data context: identity store
- Users API → Unit of work: calls
- Users API → Photo service: uploads or deletes
- Admin API → Data context: queries users
- Likes API → Unit of work: calls
- Messages API → Unit of work: calls
- Unit of work → User repository: provides
- Unit of work → Message repository: provides
- User repository → Data context: queries users
- Message repository → Data context: queries messages
- Data context → PostgreSQL: reads and writes
- Photo service → Cloudinary: uploads and deletes
- Message hub → Message repository: manages groups
- Presence hub → Presence tracker: tracks connections