Skip to content

aecone/SwipeConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📱 SwipeConnect — A Mentorship Matching App

SwipeConnect is a cross-platform mentorship matchmaking app built for Rutgers University students to connect mentors and mentees through shared interests, career goals, and club affiliations. Using a swipe-based interface, the app makes professional networking intuitive, engaging, and accessible.

Screenshot 2025-11-10 at 2 57 09 PM Screenshot 2025-11-10 at 2 56 31 PM Screenshot 2025-11-10 at 2 55 28 PM


🎬 Demo

▶️ Watch our presentation & demo video


💡 Overview

Many student clubs run mentorship programs, but they often rely on Google Forms, spreadsheets, or word-of-mouth matching — making it hard for students to explore opportunities outside their own organizations. SwipeConnect unifies these efforts into a single platform that promotes cross-club, cross-major mentorship and faster, more meaningful connections.

🧭 Core Features

  • Tailored Profiles — Students can display interests, career goals, and university organizations as tags on their profiles.
  • Swipe-Based Matching — Mentors and mentees swipe left/right to show interest; mutual likes create a match.
  • In-App Messaging — Once matched, users can chat directly to plan meetups or ongoing mentorship.
  • Smart Filtering — Filter users by shared tags, majors, and fields of interest.
  • Secure Authentication — Firebase Auth ensures safe login and account management.
  • Cloud-Backed Data Storage — Real-time data sync using Firebase Firestore.

🎯 Project Goals

  • Enhance mentorship accessibility: Build a single app where students can easily discover mentors in relevant academic or professional domains.
  • Personalize networking: Match users based on their majors, goals, and club memberships.
  • Streamline communication: Enable real-time chat and notifications for seamless mentor–mentee engagement.
  • Ensure scalability and maintainability: Use a modular architecture with a TypeScript React Native frontend and Flask backend.

🧰 Tech Stack

Layer Technology
Frontend React Native (Expo) + TypeScript
Backend Flask (Python)
Database / Auth Firebase Firestore + Firebase Auth
Testing Jest (frontend), PyTest (backend)
Deployment Render (backend), Expo Go (mobile preview)
Monitoring / Logging Better Stack (API logs & uptime monitoring)
API Tools Postman

🧱 Architecture

Layered Design

  • Presentation (UI) → Business Logic → Data Access → Data Storage
  • Modular components, reusable styles, and centralized Firebase configuration

Benefits

  • High maintainability
  • Easy scalability
  • Consistent testing and debugging

⚙️ Setup & Run Locally

1️⃣ Frontend Setup (Expo + React Native)

Install Expo modules:

npx install-expo-modules@latest

Start the Expo development server:

npx expo start
  • Press w to open in your browser, or
  • Scan the QR code with the Expo Go app to run on iOS/Android.

2️⃣ Backend Setup (Flask + Firebase)

Create and activate a virtual environment:

cd backend
python -m venv venv

Activate:

  • Windows: venv\Scripts\activate
  • macOS/Linux: source venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Run the backend:

python app.py

3️⃣ Environment Variables

Create a .env file in the root directory:

FIREBASE_CREDENTIALS=path/to/serviceAccountKey.json

(Use forward slashes and no quotes in the path.)


🧪 Testing

  • Frontend:

    • Jest + React Native Testing Library
    • Mocks for Expo, AsyncStorage, and Firebase APIs
  • Backend:

    • PyTest with in-memory Firestore mocks for dependency-free tests
    • 25+ automated test cases across signup, profile, messaging, and swiping flows

👥 Team

Role Member
Product Owner Natalie Chow
Scrum Master Julia S. Ochoa
Frontend Developers Natalie Chow, Amithi Pathak
Backend Developers Kelvin Bian, Andrea Kim

📸 UI Design

🎨 View the Figma Prototype


🧭 Lessons Learned

  • Time Management: Accurately scoping features around a new tech stack.
  • Technical Growth: Learned full-stack integration with React Native, Flask, and Firebase.
  • Testing Discipline: Built mock environments for reliable, repeatable tests.
  • Team Collaboration: Applied Agile principles using Jira and Confluence for sprints and documentation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5