No description
Find a file
SamoilenkoVadym 441f0a81a8
Some checks failed
Deploy to Production / Deploy to Production (push) Has been cancelled
feat: configure services for external access via static IP
- Update Docker port bindings to listen on 0.0.0.0 for external access
- Configure CORS to allow multiple origins (local and external IPs)
- Update frontend to run on all interfaces (0.0.0.0:3001)
- Set frontend URL to static IP 83.151.203.105:3001

Changes:
- docker-compose.yml: Bind postgres, n8n, backend to 0.0.0.0
- backend CORS: Allow localhost, 192.168.1.180, and 83.151.203.105
- frontend: Run on 0.0.0.0:3001 for external accessibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 13:55:51 +01:00
.github/workflows feat: complete sprints 4.3, 5, 6 - n8n integration, admin panel, production prep 2025-10-03 10:36:41 +01:00
backend feat: configure services for external access via static IP 2025-10-09 13:55:51 +01:00
frontend feat: configure services for external access via static IP 2025-10-09 13:55:51 +01:00
.cursorrules Sprint 1: Authentication System (#2) 2025-09-30 10:48:31 +01:00
.gitignore feat: integrate n8n-workflows database and unified sidebar navigation 2025-10-03 17:18:01 +01:00
CREATE_ADMIN.md feat: complete sprints 4.3, 5, 6 - n8n integration, admin panel, production prep 2025-10-03 10:36:41 +01:00
CREDITS_UPDATE_FIX.md feat(billing): complete stripe integration with credit purchase flow 2025-09-30 19:44:15 +01:00
DESIGN_SYSTEM_REDESIGN.md design: redesign frontend with apple/n8n aesthetics and aimpress branding 2025-09-30 19:59:52 +01:00
DESIGN_SYSTEM_UPDATE.md feat: complete sprints 4.3, 5, 6 - n8n integration, admin panel, production prep 2025-10-03 10:36:41 +01:00
docker-compose.override.example.yml feat: integrate n8n-workflows database and unified sidebar navigation 2025-10-03 17:18:01 +01:00
docker-compose.prod.yml feat: complete sprints 4.3, 5, 6 - n8n integration, admin panel, production prep 2025-10-03 10:36:41 +01:00
docker-compose.yml feat: configure services for external access via static IP 2025-10-09 13:55:51 +01:00
IMPLEMENTATION_SUMMARY.md feat: complete sprints 4.3, 5, 6 - n8n integration, admin panel, production prep 2025-10-03 10:36:41 +01:00
Makefile Sprint 1: Authentication System (#2) 2025-09-30 10:48:31 +01:00
MCP_INTEGRATION.md feat: integrate n8n-workflows database and unified sidebar navigation 2025-10-03 17:18:01 +01:00
package-lock.json feat: integrate n8n-workflows database and unified sidebar navigation 2025-10-03 17:18:01 +01:00
package.json Sprint 1: Authentication System (#2) 2025-09-30 10:48:31 +01:00
README.md feat: integrate n8n-workflows database and unified sidebar navigation 2025-10-03 17:18:01 +01:00
test-checkout.sh feat(billing): complete stripe integration with credit purchase flow 2025-09-30 19:44:15 +01:00

n8n SaaS Marketplace

A comprehensive platform for discovering, purchasing, and deploying n8n workflows. This marketplace enables users to browse pre-built automation workflows, subscribe to workflow packages, and seamlessly integrate them into their n8n instances.

Features

  • Workflow Marketplace: Browse and discover pre-built n8n workflows
  • User Authentication: Secure user registration and login system
  • Subscription Management: Stripe-powered payment processing for workflow subscriptions
  • AI-Powered Recommendations: Azure OpenAI integration for personalized workflow suggestions
  • Real-time Updates: Redis caching for optimal performance
  • Modern UI: Built with Next.js 15 and React 19

Tech Stack

Backend

  • Runtime: Node.js with TypeScript
  • Framework: Express.js
  • Database: PostgreSQL with Prisma ORM
  • Cache: Redis
  • Authentication: JWT with bcrypt
  • Payments: Stripe
  • AI: Azure OpenAI

Frontend

  • Framework: Next.js 15
  • UI: React 19 with Tailwind CSS
  • State Management: Zustand
  • Data Fetching: TanStack Query (React Query)
  • HTTP Client: Axios

Infrastructure

  • Containerization: Docker & Docker Compose
  • n8n: Self-hosted n8n instance
  • Database: PostgreSQL 16
  • Cache: Redis 7

Project Structure

n8n-saas-marketplace/
├── backend/                 # Backend API
│   ├── src/                # Source code
│   ├── prisma/             # Database schema and migrations
│   ├── package.json
│   ├── tsconfig.json
│   └── .env.example
├── frontend/               # Frontend application
│   ├── src/
│   │   ├── app/           # Next.js app directory
│   │   ├── components/    # React components
│   │   └── lib/           # Utility functions
│   ├── public/            # Static assets
│   ├── package.json
│   ├── tsconfig.json
│   ├── tailwind.config.ts
│   ├── next.config.ts
│   └── .env.example
├── docker-compose.yml      # Docker services configuration
├── Makefile               # Convenience commands
├── package.json           # Root package.json with workspaces
└── README.md

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Docker and Docker Compose
  • Git

Installation

  1. Clone the repository

    git clone <repository-url>
    cd n8n-saas-marketplace
    
  2. Install dependencies

    npm run install:all
    
  3. Set up environment variables

    Docker Compose Override (Required for secrets):

    cp docker-compose.override.example.yml docker-compose.override.yml
    

    Edit docker-compose.override.yml and fill in your actual API keys:

    • AZURE_OPENAI_API_KEY - Your Azure OpenAI API key
    • JWT_SECRET - Generate with: openssl rand -base64 32
    • ENCRYPTION_KEY - Generate with: openssl rand -hex 32
    • STRIPE_SECRET_KEY - Your Stripe secret key (if using payments)
    • STRIPE_WEBHOOK_SECRET - Your Stripe webhook secret (if using payments)

    Backend .env (Optional - for running outside Docker):

    cp backend/.env.example backend/.env
    # Edit backend/.env with your configuration
    

    Frontend .env (Optional):

    cp frontend/.env.example frontend/.env
    # Edit frontend/.env with your configuration
    
  4. Start Docker services

    make up
    # or: docker-compose up -d
    

    This will start:

    • PostgreSQL (port 5432)
    • Redis (port 6379)
    • n8n (port 5678)
    • Backend API (port 4000)

    Note: Docker Compose automatically merges docker-compose.yml with docker-compose.override.yml, so your secrets are loaded securely without being committed to git.

  5. Run database migrations

    make db-migrate
    
  6. Access the application

Security Notes

⚠️ IMPORTANT: Never commit secrets to git!

  • docker-compose.override.yml contains your actual API keys and secrets
  • This file is gitignored and should NEVER be committed
  • Always use docker-compose.override.example.yml as a template
  • For production, use environment variables or secure secret management services

Available Commands

Makefile Commands

  • make up - Start all Docker services
  • make down - Stop all Docker services
  • make logs - View logs from all services
  • make clean - Stop services and remove volumes
  • make restart - Restart all services
  • make backend-shell - Run backend in development mode
  • make db-migrate - Run database migrations
  • make help - Show all available commands

NPM Commands

  • npm run dev - Start both backend and frontend in development mode
  • npm run dev:backend - Start only backend
  • npm run dev:frontend - Start only frontend
  • npm run build - Build both applications
  • npm run build:backend - Build backend
  • npm run build:frontend - Build frontend

Development

Backend Development

cd backend
npm run dev              # Start development server
npm run db:generate      # Generate Prisma client
npm run db:push          # Push schema changes to database
npm run db:migrate       # Run migrations
npm run db:studio        # Open Prisma Studio

Frontend Development

cd frontend
npm run dev              # Start Next.js development server
npm run build            # Build for production
npm run start            # Start production server
npm run lint             # Run ESLint

Environment Variables

Backend (.env)

  • PORT - Backend server port (default: 4000)
  • DATABASE_URL - PostgreSQL connection string
  • JWT_SECRET - Secret key for JWT token generation
  • REDIS_URL - Redis connection URL
  • N8N_API_URL - n8n instance API URL
  • STRIPE_SECRET_KEY - Stripe secret key for payments
  • AZURE_OPENAI_ENDPOINT - Azure OpenAI service endpoint

Frontend (.env)

  • NEXT_PUBLIC_API_URL - Backend API URL
  • NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY - Stripe publishable key

License

ISC