Skip to content

ritikiitg/PPPM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PPPM - Positive Posture Preserve Me

PPPM is a full-stack multimodal memory-to-confidence app.

Users can:

  • Capture memory context (voice/text/media)
  • Chat for clarifications
  • Generate an AI confidence capsule with interleaved text/image/audio/video
  • Save and revisit capsules

Tech Stack

  • Frontend: React + TypeScript + Vite + Zustand + React Query + i18next
  • Backend: Node.js + Express + TypeScript + Prisma
  • AI: Google GenAI (@google/genai)
  • Storage: Local filesystem fallback (default), optional Google Cloud Storage
  • Realtime generation state: Firestore (optional, in-memory fallback)

Project Structure

client/   # React frontend
server/   # Express API + Prisma + AI orchestration

Prerequisites

  • Node.js 20+
  • npm 10+

Optional for full cloud/realtime setup:

  • Google API credentials
  • Firestore + GCS credentials
  • Captcha provider keys (Turnstile or reCAPTCHA)

Environment Setup

1) Backend env

Copy server/.env.example to server/.env and fill values.

Minimum local/dev values:

  • PORT=3001
  • FRONTEND_URL=http://localhost:5173
  • DATABASE_URL="file:./dev.db"
  • JWT_SECRET=...
  • JWT_REFRESH_SECRET=...
  • GEMINI_API_KEY=...

Optional:

  • Storage provider switch: STORAGE_PROVIDER=local|gcs
  • Firestore state sync config
  • Captcha config (CAPTCHA_PROVIDER, CAPTCHA_SECRET)

2) Frontend env

Copy client/.env.example to client/.env.

Minimum local/dev values:

  • VITE_API_URL=/api/v1

Optional:

  • VITE_GOOGLE_CLIENT_ID=...
  • VITE_TURNSTILE_SITE_KEY=...

Install Dependencies

cd server && npm install
cd ../client && npm install

Run in Development

Open two terminals.

Terminal 1 (backend):

cd server
npm run dev

Terminal 2 (frontend):

cd client
npm run dev

Default local URLs:

  • Frontend: http://localhost:5173
  • Backend health: http://localhost:3001/api/v1/health

Build

cd server && npm run build
cd ../client && npm run build

Notes

  • Local media storage works by default and does not require paid cloud storage.
  • Recap video generation uses ffmpeg; bundled ffmpeg is included as dependency fallback.
  • If Firestore is not configured, generation state falls back to in-memory state.

Git Readiness

Root .gitignore is configured for:

  • Node modules
  • build artifacts
  • env files
  • local DB/uploads/logs
  • planning files requested to stay untracked:
    • plan.json
    • task.md
    • idea.md

About

Positive Posture Preserve Me

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages