Welcome to RoomMatch UHM, a student-focused housing compatibility platform designed to connect University of Hawaiʻi at Mānoa students seeking roommates or housing opportunities.
RoomMatch UHM is designed and implemented by Brooke Clifton, Ethan Garcia, Harrison Gray, Lara Miyakawa Ho, and Miley Chun. Our collaborative agreement outlines our team's shared goals, roles, and how members will interact to work together effectively.
The first page users see when visiting RoomMatch UHM:
Shows students that our algorithm predicts as compatible roommates:
Displays an individual student's complete profile:
Allows students to set up their profile for matching:
Allows students to make edits to their profile
The Messages Page enables users to chat directly with potential or matched roommates. Designed for clean, easy communication on both mobile and desktop.
The Meetings Page helps students track upcoming roommate meetups or housing appointments.
See what some trial users had to say about RoomMatch UHM:
One user brought up was that the landing page's "Get Started" button still routed to the "Create Profile" page, even if they were already logged in.
One user found a bug that caused direct messages to route to the wrong recipient.
Some suggestions for how RoomMatch could improve were: Include a gender element in the sign up process, add social media field to profiles, and fix the messaging issues.
Welcome to the RoomMatch UHM Developers Guide. This guide walks you through how to download, install, run, and modify the system. It is designed for new developers joining the project, and for contributors who want a clear understanding of the workflow.
Clone the repository:
git clone https://github.com/roommatch-uhm/roommatch-uhm-v1.git cd roommatch-uhm-v1
Create a .env file in the project root and paste the
environment variables from Vercel Postgres.
Example .env:
NEXTAUTH_SECRET=your-secret-here
NEXTAUTH_URL=http://localhost:3000
POSTGRES_DATABASE="verceldb"
POSTGRES_HOST="***"
POSTGRES_PASSWORD="***"
POSTGRES_USER="default"
POSTGRES_PRISMA_URL="postgres://..."
POSTGRES_URL_NON_POOLING="postgres://..."
POSTGRES_URL_NO_SSL="postgres://..."
DATABASE_URL="${POSTGRES_PRISMA_URL}"
Run the following command to install the project dependencies:
npm install
Generate the Prisma client:
npx prisma generate
Push the schema to the database:
npx prisma db push
(Optional) Seed the database:
npx prisma db seed
Start the development server:
npm run dev
Then visit:
The main folders in this project are:
app/ → Main Next.js app pages and routes components/ → Reusable UI components lib/ → Authentication and Prisma setup prisma/ → Database schema & seed file public/ → Images and static assets styles/ → Global CSS
Located at: components/Navbar.tsx
Add a new folder under app/:
app/report-user/page.tsx
The page becomes available automatically at /report-user.
Modify prisma/schema.prisma and run:
npx prisma db push npx prisma generate
Add an API route under app/api/. Example:
app/api/messages/send/route.ts
Auth behavior is controlled in:
lib/authOptions.ts
Run Playwright tests:
npm run playwright-development
Run Jest tests:
npm test
.env variables in Vercel → Settings → Environment
Variables
Standard team workflow:
git checkout -b feature/some-feature git commit -m "Added new feature" git push -u origin feature/some-feature
Then open a Pull Request in GitHub.
© 2025 RoomMatch UHM • Created by the RoomMatch UHM Team