An open-source creator commerce platform that empowers digital creators to sell their work directly to their audience with 0% platform fees.
- 0% Platform Fees - Keep 100% of your revenue (only pay payment processor fees)
- Unlimited Customization - Full control over your storefront appearance and functionality
- True Data Ownership - Export all your data anytime, no lock-in
- Multiple Product Types - Digital downloads, subscriptions, physical goods, and bundles
- Built-in Marketing Tools - Affiliate system, discount codes, email automation
- Developer Friendly - API-first architecture with webhook support
- Product Management - Create and manage digital products with version control
- File Upload System - Secure file storage with MinIO integration
- Analytics Dashboard - Track sales, revenue, and customer insights
- Customer Management - View and manage your customer base
- Payout Management - Track earnings and payment history
- Modern Storefront - Beautiful, responsive product pages
- Shopping Cart - Persistent cart with local storage
- Secure Checkout - Stripe integration with multiple payment methods
- Digital Delivery - Automatic file delivery with download management
- Customer Dashboard - Order history and download management
- Secure File Storage - S3-compatible storage with MinIO
- Download Protection - Time-limited, tracked download links
- License Key Generation - Automatic license keys for software products
- PCI Compliance - Secure payment processing through Stripe
- GDPR Ready - Data export and deletion capabilities
- Framework: Next.js 15 with App Router
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js
- Payments: Stripe (PayPal coming soon)
- File Storage: MinIO (S3-compatible)
- Email: Nodemailer with React Email
- Styling: Tailwind CSS
- Deployment: Docker & Kubernetes ready
- Node.js 20+
- Docker & Docker Compose
- npm or yarn
- Stripe account (for payments)
- Clone the repository:
git clone https://github.com/yourusername/opengrove.git
cd opengrove
- Install dependencies:
npm install
- Copy environment variables:
cp .env.example .env
-
Configure your environment variables:
- Add your Stripe API keys
- Set up database connection
- Configure MinIO settings
-
Start the development services:
npm run docker:up
- Run database migrations:
npm run db:push
- Seed the database (optional):
npm run db:seed
- Start the development server:
npm run dev
Visit http://localhost:3000 to see the application.
After running the seed script, you can login with:
- Admin: admin@opengrove.local / admin123
- Creator: creator@opengrove.local / creator123
- Customer: customer@opengrove.local / customer123
opengrove/
βββ src/
β βββ app/ # Next.js app router pages
β β βββ api/ # API routes
β β βββ auth/ # Authentication pages
β β βββ dashboard/ # Dashboard pages (admin, creator, customer)
β β βββ products/ # Public product pages
β β βββ checkout/ # Checkout flow
β βββ components/ # React components
β β βββ cart/ # Shopping cart components
β β βββ checkout/ # Checkout components
β β βββ product/ # Product display components
β β βββ ui/ # Shared UI components
β βββ contexts/ # React contexts (cart, etc.)
β βββ hooks/ # Custom React hooks
β βββ lib/ # Core libraries
β β βββ auth/ # Authentication logic
β β βββ db/ # Database client
β β βββ email/ # Email services
β β βββ services/ # External services (Stripe, MinIO)
β β βββ utils/ # Utility functions
β βββ types/ # TypeScript types
β βββ generated/ # Generated files (Prisma client)
βββ prisma/
β βββ schema.prisma # Database schema
β βββ seed.ts # Database seeder
βββ public/ # Static assets
βββ docs/ # Documentation
βββ docker-compose.yml # Docker services
npm run dev
- Start development servernpm run build
- Build for productionnpm run start
- Start production servernpm run lint
- Run ESLintnpm run typecheck
- Run TypeScript checksnpm run db:studio
- Open Prisma Studionpm run db:push
- Push schema changes to databasenpm run db:migrate
- Run database migrationsnpm run db:seed
- Seed the databasenpm run docker:up
- Start Docker servicesnpm run docker:down
- Stop Docker services
Key environment variables to configure:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/opengrove"
# Authentication
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"
# Stripe
STRIPE_SECRET_KEY="sk_test_..."
STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
STRIPE_CURRENCY="usd" # or "inr" for Indian accounts
# MinIO
MINIO_ENDPOINT="localhost"
MINIO_PORT="9000"
MINIO_ACCESS_KEY="minioadmin"
MINIO_SECRET_KEY="minioadmin"
MINIO_BUCKET_NAME="opengrove"
# Email
SMTP_HOST="localhost"
SMTP_PORT="1025"
SMTP_USER=""
SMTP_PASSWORD=""
SMTP_FROM="noreply@opengrove.local"
- Create a Stripe account at https://stripe.com
- Get your API keys from the Stripe dashboard
- Set up webhook endpoint:
https://yourdomain.com/api/webhooks/stripe
- Configure webhook to listen for
checkout.session.completed
events
For Indian Stripe accounts:
- Use INR currency
- Ensure you're registered as a business (not individual)
- Use international test cards for testing
- Build the Docker image:
docker build -t opengrove .
- Run with Docker Compose:
docker-compose -f docker-compose.prod.yml up -d
- Production: Use proper SSL certificates and secure environment variables
- Staging: Enable Stripe test mode
- Development: Use local MinIO and MailHog for testing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
OpenGrove is open source software licensed under the MIT License.
- Documentation: docs.opengrove.dev
- Community: Discord
- Issues: GitHub Issues
- Email: support@opengrove.dev
See PROGRESS.md for detailed development progress and upcoming features.
- Payment gateway integrations (PayPal, Razorpay)
- Advanced analytics dashboard
- Multi-language support
- Mobile app development
- Marketplace features
- AI-powered recommendations
- Blockchain integration for NFTs
- Advanced creator tools
- Built with β€οΈ by the OpenGrove community
- Powered by amazing open-source projects
- Special thanks to all contributors
Ready to start selling? Deploy OpenGrove today and join the creator economy revolution! π