Skip to content

CartHutch/Fillthatcrib

Repository files navigation

FillThatCrib is a student housing app split across two repositories:

Fillthatcrib/ for the Next.js frontend fillthatcrib-backend/ for the FastAPI backend The app supports:

student profile creation and login duplicate email protection swipe tracking host listing creation match creation messaging Supabase Postgres persistence Repo Layout FILLTHATCRIB/ ├── Fillthatcrib/ └── fillthatcrib-backend/ Clone The Repos Clone both repositories into the same parent folder:

git clone https://github.com/CartHutch/Fillthatcrib.git git clone https://github.com/CartHutch/fillthatcrib-backend.git After cloning, your folder layout should look like:

FILLTHATCRIB/ ├── Fillthatcrib/ └── fillthatcrib-backend/ If needed, switch to the branch your team is using:

cd Fillthatcrib git checkout main

cd ..\fillthatcrib-backend git checkout main Frontend Repo Frontend location:

Fillthatcrib Main commands:

cd c:\Users\natha\Downloads\FILLTHATCRIB\Fillthatcrib npm install npm run dev Frontend URL:

http://localhost:3000 Backend Repo Backend location:

fillthatcrib-backend Main commands:

cd c:\Users\natha\Downloads\FILLTHATCRIB\fillthatcrib-backend python -m venv .venv .venv\Scripts\Activate.ps1 pip install -r requirements.txt python -m uvicorn main:app --reload Backend URLs:

http://127.0.0.1:8000 http://127.0.0.1:8000/docs Backend Environment Create .env inside the backend repo:

DATABASE_URL=postgresql://postgres.vsmzbqwtjewgflquykxq:@aws-1-ca-central-1.pooler.supabase.com:5432/postgres sslmode=require Notes:

keep postgresql+psycopg2://

keep ?sslmode=require

do not commit .env Frontend Environment Optional frontend env file:

.env.local NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:8000 If not set, the frontend defaults to http://localhost:8000.

Main APIs Profiles:

POST /profiles GET /profiles/{email} PUT /profiles/{email} DELETE /profiles/{email} Swipes:

GET /swipes POST /swipes Listings:

GET /listings/ POST /listings/ Matches:

GET /matches/?user=... POST /matches/ Messages:

GET /messages/?user=... GET /messages/?user=...&listing_id=... POST /messages/ Quick Start Start the backend Start the frontend Open http://localhost:3000 Create a profile Test login, swipes, host listing flow, and messaging Manual Test Checklist Create a profile Try creating the same email again and confirm duplicate protection Log in with a saved email Try logging in with a random unsaved email and confirm it is blocked Swipe on at least one listing Check GET /swipes Create a host profile Enter the lister flow Approve a student Send a message Check GET /listings/, GET /matches/, and GET /messages/ Notes For Teammates clone both repos use main in each unless your team is working from another branch set up the backend .env run frontend and backend in separate terminals

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages