Skip to content

danolu/careparcel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CareParcel Monorepo

Anonymous reproductive health product delivery service built with Next.js and NestJS.

📁 Project Structure

careparcel/
├── apps/
│   ├── frontend/          # Next.js 15 frontend application
│   └── backend/           # NestJS backend API
├── packages/
│   └── shared-types/      # Shared TypeScript types
├── package.json           # Root package.json with workspace scripts
└── pnpm-workspace.yaml    # PNPM workspace configuration

🚀 Getting Started

Prerequisites

  • Node.js >= 20.0.0
  • pnpm >= 10.0.0

Installation

Install all dependencies across the monorepo:

pnpm install

Development

Run both frontend and backend in development mode:

pnpm dev

Or run them individually:

# Frontend only
pnpm dev:frontend

# Backend only
pnpm dev:backend

Building

Build all applications:

pnpm build

Or build individually:

pnpm build:frontend
pnpm build:backend

Testing

Run all tests:

pnpm test

Run backend tests:

pnpm test:backend

Run end-to-end tests:

pnpm test:e2e

Linting

Lint all packages:

pnpm lint

📦 Packages

Apps

  • frontend: Next.js application with Tailwind CSS, Paystack integration, and Crisp Chat
  • backend: NestJS API with Prisma ORM, PostgreSQL, and Resend email service

Packages

  • @careparcel/shared-types: Shared TypeScript types and interfaces

🗄️ Database

The backend uses Prisma with PostgreSQL.

Prisma Commands

Generate Prisma client:

pnpm prisma:generate

Run migrations:

pnpm prisma:migrate

Seed the database:

pnpm prisma:seed

🛠️ Available Scripts

Script Description
pnpm dev Run all apps in development mode
pnpm dev:frontend Run frontend in development mode
pnpm dev:backend Run backend in development mode
pnpm build Build all apps
pnpm build:frontend Build frontend
pnpm build:backend Build backend
pnpm start:frontend Start frontend in production mode
pnpm start:backend Start backend in production mode
pnpm lint Lint all packages
pnpm test Run all tests
pnpm clean Remove all node_modules and build artifacts
pnpm prisma:generate Generate Prisma client
pnpm prisma:migrate Run database migrations
pnpm prisma:seed Seed the database

🌐 Environment Variables

Frontend (apps/frontend/.env.local)

NEXT_PUBLIC_API_URL=http://localhost:8080

Backend (apps/backend/.env)

DATABASE_URL=postgresql://user:password@localhost:5432/careparcel
RESEND_API_KEY=your_resend_api_key
RESEND_EMAIL=noreply@yourdomain.com
PORT=8080

📝 License

UNLICENSED - Private project

About

Anonymous reproductive health product delivery service built with Next.js and NestJS.

Topics

Resources

Stars

Watchers

Forks

Contributors