HouseSync is web-based app built to help roommates manage their household. It allows users to create spaces, add roommates, create recurring chores (tasks) and shopping lists.
The app implements an easy to use login process using Google OAuth 2.0.
The app is built using FastAPI, React and Shadcn UI. To run the app locally, you will need to install the following:
- Python >=3.11
- Node.js >=18.0
- PostgreSQL >=15.0
- Clone the repo
- Navigate to the
api
directory
cd api
- Create a virtual environment and install the dependencies
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Create a
.env
file in the root directory and copy the contents of.env.example
into it. Add the following variables:
cp .env.example .env
DATABASE_URL=postgresql://<username>:<password>@localhost:5432/<database_name>
GOOGLE_CLIENT_ID=<google_client_id>
GOOGLE_CLIENT_SECRET=<google_client_secret>
- Run the migrations
alembic upgrade head
- Run the backend server
python -m app.main
- Navigate to the
client
directory
cd client
- Install the dependencies
npm install
- Create a
.env
file in the root directory and copy the contents of.env.example
into it. Add the following variables:
cp .env.example .env
VITE_GOOGLE_CLIENT_ID=
VITE_PROD_BASE_URL=
VITE_DEV_BASE_URL=
- Run the frontend server
npm run dev