RoomieHub Monitoring Dashboard

Real-time monitoring and analytics for all backend services

System Health

--
Calculating...

Healthy Services

--
--

Degraded Services

--
--

Unhealthy Services

--
--

Avg Response Time

--
--

Active Alerts

--
--
Test Environment
Loading services...

RoomieHub System Architecture

Complete overview of the microservices architecture, data flow, and component interactions

Application Architecture

Mobile Application (React Native)
Roomie Finding Matching & Discovery
Roomie Living Group Management
Navigation Stack Redux State Push Notifications Stream Chat
API Gateway & Load Balancer
Microservices (AWS Lambda + API Gateway)
User Management Authentication & Profiles
Group Management Group Creation & Joining
Task Management Scheduling & Tracking
Expense Management Financial Tracking
Matching Service AI Roommate Matching
Notification Service Push & Email Notifications
Icebreaker Service Social Interaction
Moderation Service Content Safety
Data Persistence Layer
Data Infrastructure (AWS)
DynamoDB Primary NoSQL Database
Users Groups Tasks Expenses Matches
S3 Storage File & Image Storage
Profile Images Expense Receipts Chat Media
Stream Chat Real-time Messaging

Data Flow Patterns

User Onboarding Flow
React Native App
User API
DynamoDB Users Table
S3 Image Upload
Matching Algorithm Flow
User Preferences
Matching Service
ML Algorithm
Ranked Results
Group Communication Flow
Chat Interface
Stream Chat SDK
Notification Service
Push Notification

Technology Stack

Frontend
React Native Redux Toolkit React Navigation Expo Stream Chat SDK
Backend
AWS Lambda API Gateway Node.js NestJS TypeScript
Database
DynamoDB S3 AWS Rekognition Stream Chat
DevOps
AWS CloudFormation CloudWatch API Gateway Lambda Functions S3 Static Hosting

Security & Monitoring

Authentication

JWT tokens, phone OTP verification, secure session management

Content Moderation

AWS Rekognition for image analysis, text profanity filtering

Real-time Monitoring

Health checks, performance metrics, alert system

Data Privacy

Encrypted sensitive data, GDPR compliance, user consent

Service Schema & Data Flow

React Native App Redux + API Handlers API Gateway User Management Group Management (Central Hub) Task Management Finance & Expenses Matching Algorithm Notification Service Monitor Dashboard DynamoDB User Profiles, Groups, Tasks, Transactions S3 Storage Profile Images, Expense Receipts Stream Chat Group Messages, Real-time Chat

Connection Types

Direct API Calls
Service-to-Service Communication
Data Storage Connections

User Management DTOs

UserProfileDto account, cityOfInterest, aboutMe, languages, ethnicity, hometown, work, education, lifestyle, interests
CompleteUserDTO id, userProfile, groupId, doesExist
UpdateUserDto Partial update fields from UserProfileDto
UserEncryptedDTO id, userProfile (encrypted)

Group Management DTOs

CreateGroupDto userID, name, groupCode, streetAddress, unitNumber, city, state, zipcode
UpdateGroupDto streetAddress, unitNumber, city, state, zipcode
StreamTokenDto userId → token (for chat integration)

Finance/Expense DTOs

TransactionsDto groupID, trnDescr, trnCategory, createdByUser, paidByUser, splitWithUsers, amount, date, image
PaymentsDto payerID, paymentID, payeeID, amount, date, payerName, payeeName, groupID
BalancesDto userID, peerID, netBalance
RecurringExpenseDto id, baseExpense, recurrenceFrequency, dates, isActive

Matching Service DTOs

FilterDto city, gender, minRentBudget, maxRentBudget, roomies, leaseTerm, language, minAge, maxAge, school
SwipeDto userId, targetUserId, action (like/dislike)

Notification Service DTOs

DeviceTokenDto userId, deviceToken, platform
NotificationDto userId, title, message, type, data

DynamoDB Tables

Users Table
id (PK) - String
userProfile - Map
groupId - String
doesExist - Boolean
createdAt - Timestamp
updatedAt - Timestamp
Groups Table
groupId (PK) - String
groupCode - String
name - String
members - List
address - Map
createdBy - String
createdAt - Timestamp
Tasks Table
groupId (PK) - String
taskId (SK) - String
title - String
assignedTo - List
dueDate - String
completed - Boolean
recurring - Boolean
Transactions Table
groupId (PK) - String
trnId (SK) - String
description - String
amount - Number
paidBy - String
splitWith - Map
category - String
date - String
Matches Table
userId (PK) - String
targetUserId (SK) - String
action - String
timestamp - Number
matched - Boolean
Notifications Table
userId (PK) - String
timestamp (SK) - Number
title - String
message - String
type - String
read - Boolean

S3 Buckets

roomiehub-user-images

User profile images, organized by userId/imageId

roomiehub-expense-receipts

Expense receipt images, organized by groupId/transactionId

User Onboarding Flow

1
User Registration

API: POST /users

DTO: UserEncryptedDTO

Creates user profile with encrypted sensitive data

2
Image Moderation

API: POST /users/moderate-images

Service: AWS Rekognition

Validates profile images for content compliance

3
Group Creation/Join

API: POST /groups OR POST /groups/join-by-code

DTO: CreateGroupDto

Creates new group or joins existing via code

4
Matching Activation

API: GET /matches/{userId}

Service: Algorithm processes user preferences

Enables roommate matching based on profile

Group Living Flow

1
Task Management

API: POST /tasks, GET /tasks

Create and assign household tasks to group members

2
Expense Tracking

API: POST /expenses, GET /transactions

DTO: TransactionsDto

Record shared expenses and split costs

3
Balance Settlement

API: GET /balances, POST /payments

DTO: PaymentsDto

Calculate and settle outstanding balances

4
Notifications

API: POST /notifications/push

Send reminders for tasks, payments, and updates

Data Synchronization Patterns

User Profile Updates

Trigger: PATCH /users/updateUser/{id}

Cascade: Matching service recalculates compatibility scores

Notification: Group members notified of profile changes

Group Membership Changes

Trigger: POST /groups/join-by-code or PATCH /groups/remove-user

Cascade: Task assignments updated, expense splits recalculated

Notification: All group members notified of changes

Real-time Chat Integration

Service: Stream Chat via Group Management

Token Management: POST /groups/stream-token

Message Sync: POST /groups/commit-message

Active Alerts & Notifications

Loading alerts...

CloudWatch Logs

Loading logs...

DynamoDB Management

Total Tables

--

Total Items

--

Total Size

--

Recent Activity

--

Tables

Loading tables...

S3 Storage Management

Total Buckets

--

Total Objects

--

Total Images

--

Total Size

--

S3 Buckets

Loading buckets...
Loading promotions...
Loading survey analytics...
Loading ads...
Loading emails...
Updating...