lesterfernandez / roomconnect

Allows users to connect with potential roommates. Written in TypeScript and Go.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RoomConnect

TypeScript React ChakraUI Vite Go Docker Redis PostgreSQL

Overview

RoomConnect is a full-stack TypeScript + Go web app that helps users find compatible roommates throughout Miami. It allows users to customize their profile and preferences, and search for other potential roommates through dynamic searcg querires. Furthermore, RoomConnect allows potential roommates to chat with each other in real time.

Contributors

  • Front-End Engineers:
    • Jocelyn Dzuong - Design + UI
    • Firas Natour - Design + UI
    • Javier Garcia - Frontend Infrastructure
  • Back-End Engineers:
    • Enzo Falone - Backend Infrastructure + API
    • Jordan Diaz - Security + API
  • Lead Engineer:
    • Lester Fernandez - Planning + Mentoring

Technology

Frontend

  • TypeScript - Programming Language
  • React.js - Frontend Framework
  • WebSockets - Real-Time Communication
  • ChakraUI - Design System
  • Zustand - State Management
  • Zod - Data Validation
  • Vite - Bundler

Backend

  • Go - Programming Language
  • WebSockets - Real-Time Communication
  • PostgreSQL - Database
  • Redis - Pub/Sub Messaging System
  • Docker - Containerization Software

How to Run Locally

To build this project, make sure you have npm, Docker, and Go installed. Then run the following steps:

  1. Clone the repository to your directory
git clone https://github.com/lesterfernandez/roomconnect.git
  1. Install all necessary dependencies and packages in the root of the project
cd roommate-finder
npm install
  1. Start the docker image inside /server
 cd server
 docker compose up -d
  1. Start the go server inside the same directory
go run server.go
  1. Build the project in /client and open the link locally in your browser
cd ..
cd client
npm run dev

About

Allows users to connect with potential roommates. Written in TypeScript and Go.


Languages

Language:TypeScript 60.0%Language:Go 37.7%Language:JavaScript 1.2%Language:HTML 0.5%Language:Dockerfile 0.3%Language:Shell 0.1%Language:CSS 0.1%