A monorepo containing the Re-Life landing page and RAG-based addiction recovery system.
- 2026-02-09 - #28 Add CODEOWNERS to require owner approval on all PRs by @Copilot
- 2026-02-09 - #27 Automate README updates on PR merge via GitHub Actions by @Copilot
re-life-monorepo/
βββ packages/
β βββ landing/ # Marketing landing page (React)
β β βββ src/
β β βββ public/
β β βββ package.json
β βββ recovery-system/
β βββ backend/ # Node.js + Express API with RAG
β β βββ src/
β β βββ package.json
β βββ frontend/ # React + Vite app
β βββ src/
β βββ package.json
βββ package.json # Root workspace config
- Node.js 18+ and npm
- MongoDB (for backend)
-
Install all dependencies:
npm install
-
Set up environment variables:
# Backend cd packages/recovery-system/backend cp .env.example .env # Edit .env with your actual API keys
# Landing page (runs on http://localhost:3000)
npm run landing:dev
# Recovery system backend (runs on http://localhost:5000)
npm run recovery:backend
# Recovery system frontend (runs on http://localhost:3001)
npm run recovery:frontendnpm run dev:all# Build landing page
npm run landing:build
# Build recovery frontend
npm run build --workspace=packages/recovery-system/frontend- Tech Stack: React, TailwindCSS, GSAP
- Port: 3000
- Purpose: Marketing and user acquisition
- Features: Video backgrounds, animations, glassmorphism design
- Tech Stack: Node.js, Express, MongoDB, TypeScript, Better-Auth
- Port: 5000
- Features:
- π Authentication with Better-Auth (email/password, sessions)
- π Progress Tracking with timezone-aware streak calculation
- π Journal System with image uploads (Cloudinary)
- β° Smart Reminder System
- π Timezone support for global users
- π Mood logging and analytics
- Tech Stack: React, Vite, TailwindCSS
- Port: 3001
- Features: AI chat interface, Progress tracking, User dashboard
POST /api/auth/sign-up- Create new accountPOST /api/auth/sign-in- LoginPOST /api/auth/sign-out- LogoutGET /api/auth/session- Get current session
POST /api/progress/checkin- Daily check-in with mood loggingGET /api/progress/streak- Get current and longest streakGET /api/progress/mood-history- Retrieve mood history
POST /api/journals- Create journal entry (with optional image)GET /api/journals- Get all user journal entriesGET /api/journals/:id- Get specific entryPATCH /api/journals/:id- Update entryDELETE /api/journals/:id- Delete entry
# To landing page
npm install <package> --workspace=packages/landing
# To backend
npm install <package> --workspace=packages/recovery-system/backend
# To frontend
npm install <package> --workspace=packages/recovery-system/frontend- β Shared dependencies and unified management
- β
Single
node_modulesat root (saves disk space) - β Run all apps with one command
- β Easy code sharing between packages
- β
Configure MongoDB connection in backend(Complete) - β
Implement authentication with Better-Auth(Complete) - β
Build progress tracking system(Complete) - β
Implement journal system with image uploads(Complete) - π§ Integrate RAG-based AI chat system
- π§ Build recovery system frontend UI
- π§ Connect landing page to recovery system
- β Better-Auth authentication (sessions, email/password)
- β User management with custom recovery fields
- β Progress tracking with timezone-aware streaks
- β Mood logging and history
- β Journal system with Cloudinary image uploads
- β Reminder system for addiction types (drugs, social_media, pornography)
- β Protected API routes with authentication middleware
- User - Authentication + recovery profile (addiction types, recovery start date, timezone)
- Progress - Streak tracking, mood logs, milestones, relapse incidents
- Journal - Entries with mood, triggers, coping strategies, images
- Reminder - User reminders with frequency and addiction type
- Session - Better-Auth session management
This repository includes an automated workflow that updates the README file when pull requests are merged:
- Trigger: Runs automatically when a PR is approved and merged
- Action: Adds merged PR information to a "Recent Changes" section in the README
- Information Tracked: PR number, title, author, date, and link
- Limit: Keeps the last 10 merged PRs for reference
- Location: See
.github/workflows/update-readme-on-pr.ymland.github/scripts/update-readme.js
This automation ensures that the README always reflects recent development activity and makes it easy for contributors and users to see what has changed in the project.
- π Dark monochromatic theme with cyan, purple, and orange accents
- π± Fully responsive design
- π₯ Video background with overlay effects
- π― Comprehensive sections:
- Hero Section - Immersive video background with animated CTA
- Chat Interface Demo - Real-time typing animation showcase
- Problems Section - Addiction challenges visualization
- Solution Section - AI-powered recovery approach
- Features Section - 6 key features with hover effects
- How It Works - Step-by-step process with scroll animations
- Technology Section - RAG AI technology explanation
- FAQ Section - Expandable accordions for common questions
- β‘ Smooth scroll-triggered animations
- π Interactive glassmorphism cards with hover effects
- π Modern futuristic UI with gradient overlays
- π¨ Custom animations and transitions