A comprehensive product lifecycle management platform from ideation to sunset.
ProdMatic is a full-stack web application built with Next.js 14, TypeScript, and modern web technologies. It provides product managers with everything they need to manage products through their entire lifecycle: ideation β discovery β definition β delivery β launch β growth β maturity β sunset.
- Multi-tenant Architecture: Organizations, teams, and role-based access control
- Product Lifecycle Management: Track products through all stages with proper workflows
- Idea Management: Intake, scoring (RICE/WSJF/ICE), prioritization, and conversion
- Discovery Tools: Customer interviews, personas, insights extraction
- Definition Phase: PRD/RFC builder with approval gates and versioning
- Delivery Management: Kanban boards, Sprint management, backlog grooming
- Roadmap Planning: Timeline views with drag-and-drop, OKR management
- Release Management: Release composer, changelogs, launch checklists
- Analytics & Growth: KPI dashboards, experiment tracking, feature flags
- Sunset Planning: EOL tracking, migration planning, data retention
- Authentication: Email/password, Google OAuth, GitHub OAuth with NextAuth
- Real-time Updates: Server components with optimistic updates
- File Storage: Document management and template system
- Rich Text Editor: Markdown support for documents and PRDs
- Data Export: CSV and PDF export for all major entities
- Integration Stubs: GitHub, Jira, Slack integration capabilities
- Audit Logging: Complete activity tracking and audit trails
- Feature Flags: Gradual rollouts and A/B testing support
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: TailwindCSS + shadcn/ui components
- Icons: Lucide React
- State Management: React Server Components + TanStack Query
- Forms: React Hook Form + Zod validation
- Drag & Drop: @dnd-kit
- Charts: Recharts
- Animation: Framer Motion
- Runtime: Node.js
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js
- Email: Resend (production) / Nodemailer (development)
- PDF Generation: @react-pdf/renderer
- Package Manager: npm
- Testing: Vitest + React Testing Library + Playwright
- Linting: ESLint + Prettier
- Git Hooks: Husky + lint-staged
- CI/CD: GitHub Actions
- Deployment: Vercel-ready
- Node.js 18+ and npm
- PostgreSQL database (local or hosted)
git clone https://github.com/your-username/prodmatic.git
cd prodmatic
npm installcp .env.example .env.localEdit .env.local with your configuration:
# Database (required)
DATABASE_URL="postgresql://postgres:password@localhost:5432/prodmatic"
# NextAuth (required)
NEXTAUTH_SECRET="your-secret-key-here"
NEXTAUTH_URL="http://localhost:3000"
# OAuth Providers (optional)
GITHUB_ID="your-github-client-id"
GITHUB_SECRET="your-github-client-secret"
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# Supabase (optional)
SUPABASE_URL="https://your-project.supabase.co"
SUPABASE_ANON_KEY="your-supabase-anon-key"
# Email (optional)
RESEND_API_KEY="your-resend-api-key"# Generate Prisma client
npm run db:generate
# Run migrations
npm run db:migrate
# Seed with sample data
npm run db:seednpm run devOpen http://localhost:3000 and sign in with:
- Email:
alice@prodmatic.com - Password:
password123
prodmatic/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ api/ # API routes
β β βββ auth/ # Authentication pages
β β βββ orgs/ # Organization-scoped routes
β β βββ [orgSlug]/ # Dynamic organization routes
β βββ components/ # Reusable UI components
β β βββ ui/ # shadcn/ui components
β βββ lib/ # Utility functions and configs
β βββ server/ # Server actions and services
β βββ types/ # TypeScript type definitions
β βββ test/ # Test utilities
βββ prisma/ # Database schema and migrations
β βββ schema.prisma # Prisma schema
β βββ migrations/ # Database migrations
βββ scripts/ # Utility scripts
β βββ seed.ts # Sample data seeder
β βββ update-changelog.js # Changelog management
βββ templates/ # Document templates
βββ e2e/ # End-to-end tests
βββ docs/ # Documentation
βββ public/ # Static assets
# Unit tests
npm run test
# Unit tests with UI
npm run test:ui
# E2E tests
npm run test:e2e
# Type checking
npm run typecheck
# Linting
npm run lint
# Code formatting
npm run formatThe seed script creates:
- 4 demo user accounts with different roles
- 2 sample organizations (TechCorp Solutions, Demo Company)
- 3 sample products with complete lifecycle data
- Ideas, epics, features, sprints, and releases
- OKRs, KPIs, experiments, and feedback
Demo Accounts:
- Admin:
alice@prodmatic.com/password123 - Product Manager:
bob@prodmatic.com/password123 - Developer:
carol@prodmatic.com/password123 - Stakeholder:
david@prodmatic.com/password123
π For comprehensive deployment instructions, see DEPLOYMENT_GUIDE.md
- Deploy to Vercel: Connect GitHub repo, configure env vars, auto-deploy
- Database: Use Supabase PostgreSQL or your preferred provider
- Domain: Configure custom domain and SSL
# Build and run with Docker Compose
docker-compose -f docker-compose.prod.yml up -d
# Run migrations
docker-compose exec app npx prisma migrate deploy- AWS: App Runner, ECS Fargate, or EC2
- Google Cloud: Cloud Run or Compute Engine
- Azure: Container Instances or App Service
For production deployments, reference the comprehensive environment template:
- Production Environment Template - Complete template with all environment variables and security best practices
# Core (Required)
DATABASE_URL=postgresql://user:pass@host:port/db
NEXTAUTH_SECRET=your-32-char-secret
NEXTAUTH_URL=https://your-domain.com
# Email (Required for notifications)
RESEND_API_KEY=your-resend-key
# OAuth (Optional)
GITHUB_ID=your-github-client-id
GITHUB_SECRET=your-github-secretπ Use the Deployment Checklist to ensure nothing is missed during production deployment.
Configure OAuth providers in src/lib/auth.ts. Supported providers:
- Email/Password (built-in)
- Google OAuth
- GitHub OAuth
The Prisma schema includes 25+ entities covering:
- User management and authentication
- Multi-tenant organization structure
- Complete product lifecycle entities
- Analytics and reporting data
- Integration and webhook support
- User activity tracking
- Product lifecycle metrics
- KPI dashboard and visualization
- Experiment tracking and A/B testing
- Comprehensive audit logging
Endpoint available at /api/health for monitoring.
- Authentication: Secure session management with NextAuth
- Authorization: Role-based access control (RBAC)
- Data Validation: Zod schemas for all inputs
- Audit Logging: Complete activity tracking
- Multi-tenant Security: Organization-level data isolation
We maintain a detailed changelog following Keep a Changelog format.
# Add new changelog entry
npm run changelog:add [version] [type] "[description]"
# Example: Bug fix
npm run changelog:add 1.0.1 fixed "Fixed authentication redirect issue"
# Example: New feature
npm run changelog:add 1.1.0 added "Added dashboard analytics feature"Change Types: added, changed, deprecated, removed, fixed, security
See CHANGELOG.md for full version history and docs/CHANGELOG_GUIDE.md for detailed guidelines.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Update the changelog:
npm run changelog:add 1.x.x added "Amazing feature description" - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow TypeScript best practices
- Write tests for new features
- Use conventional commit messages
- Ensure code passes linting and formatting
- Update documentation and changelog
This project is licensed under the MIT License - see the LICENSE file for details.
- Deployment Guide - Comprehensive deployment instructions for all platforms
- Deployment Checklist - Step-by-step checklist for production deployments
- Changelog Guide - Guidelines for maintaining version history
- System Architecture - Detailed system architecture and design patterns
- Production Environment Example - Template for production environment variables
- Documentation: Check the
/docsfolder for detailed guides - Issues: Report bugs and request features on GitHub Issues
- Changelog: See CHANGELOG.md for version history
ProdMatic v1.0.0 is a complete, production-ready product management platform with:
β Complete Feature Set
- Full product lifecycle management
- Multi-tenant architecture with RBAC
- Comprehensive testing infrastructure
- CI/CD pipelines and deployment automation
- Extensive documentation and sample data
β Production Ready
- Scalable architecture
- Security best practices
- Performance optimizations
- Monitoring and analytics
- Comprehensive error handling
Nuzli L. Hernawan
- LinkedIn: https://www.linkedin.com/in/nuzlilatief
- GitHub: https://github.com/foozio
Built with β€οΈ for product teams everywhere