A React Native app with Node.js backend for creating personalized children's stories using AI.
This is a monorepo containing:
- Frontend: React Native app with Expo (
apps/mobile) - Backend: Node.js API with tRPC (
apps/backend) - Shared: Common types, utilities, and validation (
packages/*)
- Node.js 18+
- pnpm 8+ (you have version 10 ✅)
- PostgreSQL (local or hosted)
- OpenAI API key
- Clone and install dependencies:
git clone <repository-url>
cd ourtale
pnpm install- Set up environment variables:
# Backend
cp apps/backend/.env.example apps/backend/.env
# Edit apps/backend/.env with your values
# Frontend
cp apps/mobile/.env.example apps/mobile/.env
# Edit apps/mobile/.env with your values- Set up database:
cd apps/backend
npx prisma generate
npx prisma db push- Start development servers:
# From root directory
pnpm run devThis will start:
- Backend API on http://localhost:3000
- Mobile app with Expo dev server
pnpm run dev- Start all development serverspnpm run build- Build all packagespnpm run test- Run all testspnpm run lint- Lint all packagespnpm run type-check- Type check all packages
ourtale/
├── apps/
│ ├── mobile/ # React Native app
│ └── backend/ # Node.js API
├── packages/
│ ├── shared-types/ # Shared TypeScript types
│ ├── shared-utils/ # Shared utilities
│ └── shared-validation/ # Shared Zod schemas
└── ...
- Frontend: React Native, Expo, TypeScript, Zustand, tRPC
- Backend: Node.js, Express, tRPC, Prisma, PostgreSQL
- AI: OpenAI GPT-4, DALL-E 3
- Monorepo: Turbo, pnpm workspaces
See Deployment Guide for production setup instructions.
MIT License - see LICENSE file for details.