Paperly.mp4
Frontend is built with Expo + TypeScript, backend will use FastAPI, and data is managed with PostgreSQL via Supabase.
- React Native Expo
- TypeScript
- npm
- Python
- FastAPI
- PostgreSQL
- Supabase (Cloud-hosted PostgreSQL)
Make sure you have installed:
- Node.js (recommended: latest LTS version)
- npm
- Python (recommended: 3.10+)
cd front-endnpm installCreate a .env file inside frontend/:
EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key!!! Put this file in your .gitignore file!
You can find these in your Supabase dashboard: Project Settings → API
npx expo startFrontend will run on:
cd back-endpython -m venv venvMac/Linux
source venv/bin/activateWindows
venv\Scripts\activateOnce requirements.txt exists:
pip install -r requirements.txtExpected packages will likely include:
fastapiuvicornpsycopg2orasyncpgpython-dotenv
Inside be/, create a .env file:
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
SUPABASE_SERVICE_KEY=your_service_role_key
⚠️ Never commit.envfiles to GitHub.
uvicorn main:app --reload --port 8000Backend will run on: http://localhost:8000
Once backend is running:
- Frontend →
8081 - Backend →
8000
Run Frontend
cd fe
npx expo startRun Backend
cd be
uvicorn main:app --reload --port 8000Make sure both are running at the same time.
If you're new:
- Start with frontend only (
front-end/). - Confirm Supabase connection works.
- Then set up backend.
- Run both servers simultaneously.