Nextjs, Sanity Application, single codebase selling platform for software engineers, (customizatble for multiple codebases) with a landing page for marketing, sales monitoring. Features secure source code sales with github repo and stripe checkout, automated digital downloads, safe download with proxy url so that github repository is not exposed, automated renewal system, order management, Analytics, Monitoring, a modern tech stack built for developers.
Browse the UI quickly below. Click any thumbnail to open the full-size image.
| Screen 01 | Screen 02 | Screen 03 |
|---|---|---|
![]() |
![]() |
![]() |
| Screen 04 | Screen 05 | Screen 06 |
|---|---|---|
![]() |
![]() |
![]() |
| Screen 07 | Screen 08 | Screen 09 |
|---|---|---|
![]() |
![]() |
![]() |
| Screen 10 | Screen 11 | Screen 12 |
|---|---|---|
![]() |
![]() |
![]() |
| Screen 13 | Screen 14 | Screen 15 |
|---|---|---|
![]() |
![]() |
![]() |
| Screen 16 |
|---|
![]() |
- Secure Source Code Sales: Complete Stripe integration with secure checkout and webhook processing
- Digital Downloads: Automated download system with time-limited, secure proxy URLs
- Order Management: Full order tracking and management through Sanity CMS
- Email Automation: Beautiful email templates for order confirmation and download links
- Admin Dashboard: Comprehensive admin interface for managing downloads and orders
- Mobile-First Design: Fully responsive design optimized for all devices
- Content Management: Powerful Sanity CMS for managing content and orders
- GitHub Integration: Secure downloads from private repositories with authentication
- Analytics & Monitoring: Built-in analytics dashboard for tracking sales and performance
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI + Custom Components
- CMS: Sanity
- Payments: Stripe
- Email: Nodemailer with SMTP
- Deployment: Vercel
- Icons: Lucide React
- Code Quality: ESLint, Prettier, Husky
Before setting up iLand, ensure you have:
- Node.js 22+ installed
- npm or yarn package manager
- Git for version control
- Stripe account for payment processing
- Sanity account for content management
- GitHub account with Personal Access Token (for private repository downloads)
- Email service (Gmail, SendGrid, Resend, etc.)
# Clone the repository
git clone https://github.com/your-username/iland.git
cd iland
# Install dependencies
npm install
# Set up Git hooks
npm run prepare# Copy environment template
cp env.example .env.localUpdate .env.local with your configuration:
# Stripe Configuration
STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key_here
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_your_stripe_publishable_key_here
NEXT_PUBLIC_STRIPE_PRICE_ID=price_your_stripe_price_id_here
STRIPE_WEBHOOK_SECRET=whsec_your_stripe_webhook_secret_here
# Sanity Configuration
NEXT_PUBLIC_SANITY_PROJECT_ID=your_sanity_project_id_here
NEXT_PUBLIC_SANITY_DATASET=production
SANITY_API_TOKEN=your_sanity_api_token_here
# GitHub Configuration (Required for private repositories)
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_personal_access_token_here
# Next.js Configuration
NODE_ENV=production
NEXT_PUBLIC_BASE_URL=https://yourdomain.com
# Email Configuration
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_password_here
CONTACT_EMAIL=noreply@iland.com
# Download Security
DOWNLOAD_SECRET_KEY=your_secure_random_string_here_minimum_32_characters-
Create Sanity Project:
# Install Sanity CLI globally npm install -g @sanity/cli -
Login and Configure:
sanity login sanity manage
-
Create API Tokens:
- Go to Sanity API settings
- Create both Admin and Read-only tokens
- Add tokens to your environment variables
-
Generate Types and Deploy:
npm run typegen npx sanity schema deploy
-
Create Stripe Account:
- Sign up at stripe.com
- Complete account verification
-
Create Product and Price:
- Go to Stripe Dashboard → Products
- Create a new product for your source code
- Set up pricing (one-time payment)
- Copy the Price ID
-
Configure Webhooks:
- Go to Stripe Dashboard → Webhooks
- Add endpoint:
https://your-domain.com/api/webhooks/stripe - Select events:
checkout.session.completed,checkout.session.expired - Copy webhook secret
-
Update Environment Variables:
- Add your Stripe keys and webhook secret to
.env.local
- Add your Stripe keys and webhook secret to
-
Create Personal Access Token:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate new token (classic)
- Select scopes:
repo,read:packages - Copy the token
-
Add to Environment:
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here
Choose one of the following email providers:
- Enable 2-Factor Authentication on your Gmail account
- Generate App Password:
- Go to Google Account settings
- Security → 2-Step Verification → App passwords
- Generate password for "Mail"
- Configure Environment:
SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your_email@gmail.com SMTP_PASS=your_app_password_here CONTACT_EMAIL=your_email@gmail.com
- Sign up at sendgrid.com
- Create API Key with "Mail Send" permissions
- Verify your domain
- Configure Environment:
SMTP_HOST=smtp.sendgrid.net SMTP_PORT=587 SMTP_USER=apikey SMTP_PASS=your_sendgrid_api_key_here CONTACT_EMAIL=noreply@yourdomain.com
- Sign up at resend.com
- Create API Key with "Mail Send" permissions
- Verify your domain (optional but recommended)
- Configure Environment:
SMTP_HOST=smtp.resend.com SMTP_PORT=587 SMTP_USER=resend SMTP_PASS=your_resend_api_key_here CONTACT_EMAIL=noreply@yourdomain.com
# Start development server
npm run dev
# Run type checking
npm run type-check
# Run linting
npm run lint
# Run tests
npm run test
# Build for production
npm run buildiland/
├── README.md
├── markdown/ (documentation files)
├── src/
│ ├── app/ (Next.js app router)
│ ├── components/ (React components)
│ ├── lib/ (utility functions)
│ ├── hooks/ (custom React hooks)
│ └── sanity/ (Sanity CMS configuration)
├── public/ (static assets)
└── scripts/ (build and utility scripts)
- Stripe-powered checkout system
- Secure payment processing
- Automated order fulfillment
- Time-limited download URLs
- Secure proxy system
- GitHub integration for private repos
- Order management
- Download tracking
- Analytics and insights
- User management
- Order confirmations
- Download links
- Support notifications
- Beautiful templates
-
Connect Repository:
- Push your code to GitHub
- Connect repository to Vercel
-
Environment Variables:
- Add all environment variables in Vercel dashboard
- Ensure production values are set
-
Deploy:
- Vercel will auto-deploy on push
- Monitor deployment logs
The platform is designed to be platform-neutral and can be deployed to:
- Vercel (recommended)
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
This project is not open source. Use is restricted to viewing and to personal, non-commercial education and research only. Commercial use, modification, reverse engineering (except where mandatory law applies), and redistribution are prohibited unless you have written permission from the copyright holders. See LICENSE for the full terms.
For support and questions:
- Create an issue on GitHub
- Check the documentation in the
markdown/directory - Review the code examples and setup guides
- Multi-product support
- Subscription-based sales
- Advanced analytics
- API for third-party integrations
- Mobile app companion
- Advanced security features















