A comprehensive platform for developers featuring a Software Store and AI App Builder with integrated Stripe payments, user management, and subscription handling.
- Premium Developer Tools: Curated collection of templates, boilerplates, and tools
- Secure Payments: Stripe integration for one-time purchases
- Instant Downloads: Automated delivery after successful payment
- User Dashboard: Track purchases and download history
- Subscription-Based Access: Monthly/yearly plans with free trials
- Multiple Build Types: Web apps, mobile apps, APIs, and more
- Framework Support: React, Next.js, Vue, Node.js, and others
- Project Management: Save, edit, and deploy your builds
- Customizable Themes: Tailor the look and feel of your app
- User Authentication: Secure user accounts and sessions
- Payment Processing: Full Stripe integration with webhooks
- Database Management: PostgreSQL with Prisma ORM
- Responsive Design: Mobile-first, modern UI
- Admin Dashboard: Manage users, subscriptions, and content
- Analytics & Monitoring: Track sales, usage, and performance
- Frontend: Remix, React, Tailwind CSS
- Backend: Node.js, Remix (Full-stack)
- Database: PostgreSQL with Prisma ORM
- Payments: Stripe (subscriptions & one-time payments)
- Authentication: Custom session-based auth
- Deployment: Vercel, Railway, or Docker
- Monitoring: Sentry, health checks
Before you begin, ensure you have:
- Node.js 18+ installed
- PostgreSQL database (local or cloud)
- Stripe Account (test and live mode)
- Git for version control
# Clone the repository
git clone <your-repo-url>
cd i-devr-code
# Install dependencies
npm install
# Generate Prisma client
npx prisma generateCreate .env file in the root directory:
# Database
DATABASE_URL="idevr-db.ctmq6umw42mp.us-east-2.rds.amazonaws.com"
# Session & Security
SESSION_SECRET="your-super-secure-session-secret-min-32-chars"
# Stripe (Test Mode)
STRIPE_PUBLISHABLE_KEY="pk_test_your_test_publishable_key"
STRIPE_SECRET_KEY="sk_test_your_test_secret_key"
STRIPE_WEBHOOK_SECRET="whsec_your_webhook_secret"
# Stripe Price IDs (Test)
STRIPE_BUILDER_ACCESS_PRICE_ID="price_test_builder_access_id"
STRIPE_PRO_BUILDER_PRICE_ID="price_test_pro_builder_id"
# Application
NODE_ENV="development"
APP_URL="http://localhost:3000"# Push schema to database
npx prisma db push
# Seed with sample data
npm run db:seed
# (Optional) View data in Prisma Studio
npx prisma studio-
Create Stripe Products & Prices:
- Go to Stripe Dashboard
- Create products for "Builder Access" and "Pro Builder"
- Copy the price IDs to your
.envfile
-
Setup Webhooks:
- Add webhook endpoint:
http://localhost:3000/api/stripe-webhook - Select events:
payment_intent.succeeded,customer.subscription.*,invoice.* - Copy webhook secret to
.env
- Add webhook endpoint:
# Start the development server
npm run dev
# The app will be available at http://localhost:3000i-devr-code/
βββ app/
β βββ components/ # Reusable UI components
β β βββ Header.jsx
β β βββ Footer.jsx
β β βββ PaymentModal.jsx
β βββ lib/ # Utility libraries
β β βββ db.server.js # Database utilities
β β βββ stripe.server.js # Stripe server utilities
β β βββ stripe.client.js # Stripe client utilities
β βββ routes/ # Application routes
β β βββ _index.jsx # Homepage
β β βββ software.jsx # Software store
β β βββ app-builder.jsx # AI App Builder
β β βββ dashboard.jsx # User dashboard
β β βββ api/ # API endpoints
β βββ styles/ # CSS styles
β βββ root.jsx # Root component
βββ prisma/
β βββ schema.prisma # Database schema
β βββ seed.js # Database seeding
βββ public/ # Static assets
βββ docs/ # Documentation
β βββ STRIPE_SETUP.md # Stripe integration guide
β βββ PRODUCTION_DEPLOYMENT_GUIDE.md
βββ package.json
/- Homepage with platform overview/software- Software store with products/app-builder- AI App Builder with subscription plans/dashboard- User dashboard (requires authentication)/payment-success- Payment confirmation page/api/create-payment- Payment processing endpoint/api/stripe-webhook- Stripe webhook handler
- User selects software product
- Payment modal opens with Stripe Elements
- User enters payment details
- Payment processed via
/api/create-payment - Webhook confirms payment success
- User redirected to success page
- Download access granted
- User selects subscription plan
- Stripe Checkout session created
- User completes payment on Stripe
- Webhook creates subscription record
- User gains access to App Builder features
- Recurring billing handled automatically
- User: User accounts and profiles
- Subscription: App Builder subscriptions
- Purchase: Software store purchases
- Software: Product catalog
- AppBuild: User's app builder projects
- PaymentEvent: Webhook event logging
- Setting: System configuration
- User β Subscriptions (1:many)
- User β Purchases (1:many)
- User β AppBuilds (1:many)
- Software β Purchases (1:many)
# Database
npm run db:seed # Seed database with sample data
npm run db:reset # Reset and reseed database
npm run db:push # Push schema changes and seed
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Utilities
npm run lint # Run ESLint
npx prisma studio # Open database browser- Homepage loads correctly
- Software store displays products
- Payment modal opens and functions
- Test payments work (use Stripe test cards)
- Subscription signup works
- Dashboard shows user data
- Webhooks process correctly
# Successful payment
4242 4242 4242 4242
# Declined payment
4000 0000 0000 0002
# Requires authentication
4000 0025 0000 3155
For detailed production deployment instructions, see PRODUCTION_DEPLOYMENT_GUIDE.md.
- Environment variables configured
- Database deployed and migrated
- Stripe live mode configured
- Domain and SSL setup
- Monitoring configured
- Backup strategy implemented
/health- Application health status- Database connectivity
- Stripe API connectivity
- System resource usage
- Payment success/failure rates
- Subscription churn rate
- Software download counts
- User registration trends
- Revenue analytics
- Input Validation: All user inputs validated
- CSRF Protection: Cross-site request forgery prevention
- Rate Limiting: API endpoint protection
- Secure Headers: Security headers configured
- Environment Variables: Sensitive data protection
- Webhook Verification: Stripe webhook signature validation
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
-
Database Connection Errors
- Check DATABASE_URL format
- Ensure PostgreSQL is running
- Verify credentials
-
Stripe Payment Failures
- Verify API keys are correct
- Check webhook endpoint URL
- Ensure webhook secret matches
-
Build Errors
- Clear node_modules and reinstall
- Check Node.js version compatibility
- Verify environment variables
- Documentation: Check the
/docsfolder - Issues: Open a GitHub issue
- Discussions: Use GitHub Discussions
- Email: [email protected]
- Multi-language support
- Advanced analytics dashboard
- Team collaboration features
- API marketplace
- Mobile app
- Advanced AI features
- Integration marketplace
- Database optimization and indexing
- CDN for static assets
- Redis for caching
- Load balancing
- Microservices architecture
- Advanced monitoring and alerting
Built with β€οΈ by the iDevrCode team
Ready to revolutionize your development workflow? Get started today!