A daycare lookup site with AI
# 👶 KiddoCare Kenya — Daycare Marketplace Platform
A full-stack daycare marketplace and flexible weekly billing platform ("Lipa Mdogo Mdogo") for daycare centers, parents, and platform administrators in Kenya.
---
## 📦 Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite + Tailwind CSS |
| Backend API | NestJS + Prisma ORM + PostgreSQL |
| Auth | JWT (Access + Refresh tokens) |
| Payments | M-Pesa STK Push (Daraja API) |
| Email | Resend API |
| File Uploads | UploadThing |
| AI Features | Google Genkit + Gemini 1.5 |
| Caching | Redis |
| Monorepo | Turborepo |
---
## âś… Prerequisites
Make sure the following are installed before you begin:
1. **Node.js v18+** — Download
2. **PostgreSQL** — either installed natively or via Docker
3. **Redis** — either installed natively or via Docker
4. **Docker Desktop** *(optional but recommended)* — Download
---
## 🚀 Full Setup Guide
### Step 1 — Clone & Install Dependencies
Open **PowerShell** or **Command Prompt** in the project folder:
```powershell
cd "c:\Users\ADMIN\Desktop\Christine project"
npm install
```
This installs all workspace packages (root, `apps/api`, `apps/web`, shared packages).
---
### Step 2 — Configure Environment Variables
The project uses **two `.env` files** — both must be configured:
#### File 1: `apps/api/.env` (Backend API — primary)
```env
DATABASE_URL="postgresql://christine:christine1234@localhost:5432/daycare?schema=public"
REDIS_URL="redis://localhost:6379"
PORT=3000
JWT_SECRET="your-jwt-secret-here"
JWT_EXPIRES_IN="7d"
MASTER_ENCRYPTION_KEY="0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
# Google Gemini AI — get free key at:
aistudio.google.com
GOOGLE_API_KEY="YOUR_GOOGLE_AI_API_KEY"
AI_SERVICE_URL=
localhost
# Resend Email — get key at:
resend.com
RESEND_API_KEY="re_xxxxxxxxxxxxxxxxxxxxxxxx"
RESEND_FROM_EMAIL="KiddoCare Kenya "
# UploadThing — get token at:
uploadthing. …