Find, chat, and jam with musicians near you.
- Python 3.11 or higher
- Node.js 18 or higher
- Docker and Docker Compose (only required for the Docker setup)
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt- Go to Firebase Console
- Select your project (jam-find)
- Go to Project Settings > Service Accounts
- Click "Generate New Private Key"
- Save the JSON file as
serviceAccountKey.jsonin thebackend/directory
cd backend
cp .env.example .envEdit backend/.env and set the following:
FIREBASE_CREDENTIALS_PATH=serviceAccountKey.json
GOOGLE_MAPS_API_KEY=your_google_maps_api_key
CORS_ORIGINS=["http://localhost:5173"]
DEV_MODE=False
Set DEV_MODE=True to bypass Firebase authentication during local development. Never enable this in production.
cd frontend
npm installCopy frontend/.env.example to frontend/.env and fill in the Firebase config values.
You can find the Firebase config variables here: https://console.firebase.google.com/u/0/project/jam-find/settings/general/
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_FIREBASE_MEASUREMENT_ID=your_measurement_id
VITE_API_URL=http://localhost:8000
cd backend
source venv/bin/activate
uvicorn main:app --reloadcd frontend
npm run devThere are two Claude AI generated .sh scripts you can run to run the development. start.sh runs both the frontend and backend run scripts listed above and stop.sh stops their processes and shuts down the servers. Use at your own risk.
./start.sh./stop.shAPI docs available at http://localhost:8000/docs
cd backend
source venv/bin/activate
pytestThe Docker setup runs the frontend and backend behind an nginx reverse proxy.
- Copy the root
.env.exampleto.envand fill in all values (both backend and frontend variables):
cp .env.example .env-
Place
serviceAccountKey.jsonin the root directory. -
Build and start the containers:
docker compose up --buildThe frontend will be available at http://localhost and the API at http://localhost:8000.