Skip to content

Architecture

caseyvuu edited this page Oct 15, 2025 · 30 revisions

Project Architecture

1. Overview

App Type: Mobile app

Description:

This will be a React Native app developed with Expo. It uses Firebase for real-time databases and cloud data as well as for authentication for user accounts, notifications, and messaging. We will use Github Actions for the deployment pipeline.


2.Languages, Frameworks, Libraries, and Services

a. Backend & API's b. Databases


5. Database

Database: MongoDB Atlas MongoDB Atlas is our cloud-hosted database solution that stores collections for users, matches, messages, and preferences. Its flexibility allows us to store dynamic user data such as interests, favorite games, and experience levels without strict schema constraints. The database will interact with the backend via Mongoose models for easy querying and validation.

Example Collections:

  • Users: profile info, trust rating, game preferences
  • Matches: user IDs, compatibility score, match status
  • Messages: sender, receiver, timestamp, and message body

6. Authentication & Hosting

Authentication: Firebase Authentication Firebase Authentication will handle secure user signups and logins via email and password, or through social logins (optional). It ensures user identity is verified before allowing access to sensitive features like messaging or profile editing.

Hosting: Firebase Hosting Firebase Hosting will serve both our static assets and backend endpoints, simplifying deployment and ensuring fast global performance through built-in CDN support.


7. Real-Time Communication

Library: Socket.IO Socket.IO will be used to implement live chat between matched users. It enables bi-directional communication between the app and the server, allowing instant message updates without reloading data or polling for new messages.

Protocol: WebSockets WebSockets maintain a persistent connection for low-latency updates. When one user sends a message, the recipient’s chat instantly updates, improving user experience during live gaming sessions or coordination.

Geriatrics Wiki

Project Description

Ethical, Legal, and Security Considerations

Team Organization

  • Overview
  • Meet Times
  • Method of Communication
  • Roles

Personas

User Stories

  • Overview
  • Jacob Johnson
  • Bartholomew Rodriguez
  • Sky Taylor

Design

Requirements

  • Overview
  • Required
  • Desired
  • Aspirational

Architecture

Clone this wiki locally