Follow these steps to get the project running on your local machine.
Ensure you have the following installed:
- Node.js (v18 or higher)
- pnpm (
npm install -g pnpm) - Python (3.11 or higher)
- Git
-
Clone the repository:
git clone https://github.com/PrakD3/Cara.git cd Cara -
Install Node dependencies & Approve Builds:
pnpm install pnpm approve-builds
You need to set up .env files for both the Web and API layers.
- Go to
apps/api - Copy
.env.exampleto.env:cp .env.example .env
- Note on Database: By default, CARA uses SQLite for zero-config local development. You do not need to set
DATABASE_URLunless you are migrating to production.
cd apps/api
python -m venv .venv
# Windows:
.\.venv\Scripts\activate
# Mac/Linux:
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8080- API Docs: http://localhost:8080/docs
cd apps/mobile
npx expo start --clear- iPhone Link: Scan the QR code to open in Expo Go.
In a new terminal:
pnpm --filter web dev- Dashboard: http://localhost:3000
If your phone cannot see the server, ensure:
- Your Firewall is disabled or allows Port 8080.
- Your Wi-Fi network profile is set to Private (not Public).
API_URLinapps/mobile/App.tsxmatches your laptop's IP.
- Web: Next.js 15+, Tailwind 4, Lucide Icons
- Mobile: Expo SDK 54, React Native 0.81
- Backend: FastAPI, SQLite (Dev), SQLAlchemy
- AI: Groq, Gemini 1.5 Flash