{"id":18511004,"url":"https://github.com/openshiporg/openfront","last_synced_at":"2026-03-07T08:03:15.819Z","repository":{"id":149256185,"uuid":"558531063","full_name":"openshiporg/openfront","owner":"openshiporg","description":"Shopify alternative built on Next.js and Keystone.js","archived":false,"fork":false,"pushed_at":"2026-02-23T02:08:30.000Z","size":4677,"stargazers_count":72,"open_issues_count":1,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-23T08:49:41.479Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://impossible-tees.openship.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openshiporg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-27T18:29:34.000Z","updated_at":"2026-02-23T02:08:33.000Z","dependencies_parsed_at":"2023-07-21T18:24:48.982Z","dependency_job_id":"af2c58f8-524d-4c6a-a5a4-147f4b002a24","html_url":"https://github.com/openshiporg/openfront","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/openshiporg/openfront","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshiporg%2Fopenfront","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshiporg%2Fopenfront/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshiporg%2Fopenfront/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshiporg%2Fopenfront/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshiporg","download_url":"https://codeload.github.com/openshiporg/openfront/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshiporg%2Fopenfront/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30209797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T05:23:27.321Z","status":"ssl_error","status_checked_at":"2026-03-07T05:00:17.256Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T15:26:30.425Z","updated_at":"2026-03-07T08:03:15.808Z","avatar_url":"https://github.com/openshiporg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Openfront\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fopenshiporg%2Fopenfront\u0026env=SESSION_SECRET\u0026products=%5B%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22group%22%3A%22postgres%22%7D%5D)\n\n[![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/template/openfront)\n\nOpenfront is a comprehensive e-commerce platform that provides everything you need to build and manage online stores. It includes a powerful admin dashboard, customer storefront, payment processing, inventory management, and advanced e-commerce features.\n\n## Demo\n\n\u003ca href=\"https://impossible-tees.openship.org\"\u003e\u003cimg src=\"https://github.com/user-attachments/assets/c0cf0110-a79e-4b1c-8ba7-2a9ca09947cf\" alt=\"Openfront Demo\" width=\"600\"\u003e\u003c/a\u003e\n\n| | |\n|---|---|\n| **Storefront** | [impossible-tees.openship.org](https://impossible-tees.openship.org) |\n| **Dashboard** | [impossible-tees.openship.org/dashboard](https://impossible-tees.openship.org/dashboard) |\n| **User** | `impossible@openship.org` |\n| **Password** | `UBaamC6WA*vL9dP46Lcrip2S52V4yNJ*6Xu` |\n\n[Watch full demo on YouTube →](https://youtu.be/jz0ZZmtBHgo)\n\n[Learn more →](https://openship.org/openfront-ecommerce)\n\n## The Openfront Ecosystem\n\nOpenfront is part of an ecosystem of open-source commerce tools:\n\n- **Openfront E-commerce**: (This repository) Headless e-commerce for retail.\n- **[Openfront Restaurant](https://github.com/openshiporg/openfront-restaurant)**: Specialized platform for the F\u0026B industry with POS and KDS.\n- **[Openship](https://github.com/openshiporg/openship)**: High-performance order router for multi-channel fulfillment.\n\n## Core Features\n\n### Admin Dashboard\nThe admin dashboard is your control center for managing all aspects of your e-commerce business. From here you can manage products, process orders, handle customers, configure payments, and analyze your store's performance.\n\n### Storefront\nYour customer-facing storefront provides a complete shopping experience. Customers can browse products, add items to cart, complete checkout, create accounts, and manage their orders. The storefront is fully customizable and mobile-responsive.\n\n### Payment \u0026 Fulfillment\nIntegrated payment processing with support for multiple payment providers including Stripe and PayPal. Built-in order fulfillment with shipping integrations, inventory tracking, and automated order processing workflows.\n\n### Enterprise Features\n- **Multi-Regional Commerce**: Global support with multiple currencies and regional pricing\n- **Advanced Inventory**: Multi-location inventory with stock movements and backorder management\n- **Gift Cards**: Complete lifecycle management from creation to redemption\n- **Claims \u0026 Returns**: Sophisticated return and refund processing workflows\n- **Analytics**: Real-time business insights and comprehensive reporting\n- **Discount System**: Flexible promotions, discount rules, and automated campaigns\n\n### AI Assistant\nEvery Openfront instance comes with a built-in AI Assistant powered by the Model Context Protocol (MCP).\n- **Direct Management**: Add products, change prices, and configure regions using natural language.\n- **Permission Safe**: The AI uses your logged-in session, ensuring it can only perform actions your user role allows.\n- **Workflow Efficiency**: Skip the dashboard menus and manage your store through a simple chat interface.\n\n## Architecture\n\n### Technology Stack\n- **Frontend**: Next.js 15 with App Router\n- **Backend**: KeystoneJS 6 with GraphQL API\n- **Database**: PostgreSQL with Prisma ORM\n- **Styling**: Tailwind CSS with shadcn/ui components\n- **Authentication**: Session-based with role-based permissions\n\n### Application Structure\n```\nopenfront/\n├── app/                    # Next.js App Router\n│   ├── dashboard/         # Admin platform interface\n│   ├── (storefront)/      # Customer-facing pages\n│   └── api/              # API endpoints and webhooks\n├── features/\n│   ├── keystone/         # Backend models and GraphQL schema\n│   ├── platform/         # Admin platform components\n│   ├── storefront/       # Frontend components and screens\n│   └── integrations/     # Payment and shipping adapters\n└── components/           # Shared UI components\n```\n\n### Data Models\nOpenfront includes 78+ sophisticated data models covering:\n- Product catalog and variants\n- Order management and fulfillment\n- Customer and user management\n- Payment and shipping processing\n- Analytics and reporting\n- Gift cards and discounts\n- Claims and returns\n- Multi-regional settings\n\n## Getting Started\n\n### Prerequisites\n- Node.js 18+\n- PostgreSQL database\n- npm, yarn, pnpm, or bun\n\n### Setup\n\n1. **Clone and install dependencies:**\n   ```bash\n   git clone https://github.com/openship-org/openfront.git\n   cd openfront\n   npm install\n   ```\n\n2. **Configure environment variables:**\n   ```bash\n   cp .env.example .env\n   ```\n\n   Update `.env` with your configuration:\n   ```env\n   # Required - Database Connection\n   DATABASE_URL=\"postgresql://username:password@localhost:5432/openfront\"\n\n   # Required - Session Security (must be at least 32 characters)\n   SESSION_SECRET=\"your-very-long-session-secret-key-here-32-chars-minimum\"\n\n   # Optional - Payment Providers (Stripe)\n   STRIPE_SECRET_KEY=\"sk_test_51...\"\n   STRIPE_WEBHOOK_SECRET=\"whsec_...\"\n\n   # Optional - Payment Providers (PayPal)\n   PAYPAL_CLIENT_ID=\"your-paypal-client-id\"\n   PAYPAL_CLIENT_SECRET=\"your-paypal-client-secret\"\n\n   # Optional - Shipping Provider (Shippo)\n   SHIPPO_API_KEY=\"shippo_test_...\"\n\n   # Optional - File Storage (S3-compatible)\n   S3_BUCKET_NAME=\"your-bucket-name\"\n   S3_REGION=\"us-east-1\"\n   S3_ACCESS_KEY_ID=\"your-access-key\"\n   S3_SECRET_ACCESS_KEY=\"your-secret-key\"\n\n   # Optional - Email Configuration\n   SMTP_HOST=\"smtp.gmail.com\"\n   SMTP_PORT=\"587\"\n   SMTP_USER=\"your-email@gmail.com\"\n   SMTP_PASS=\"your-app-password\"\n   FROM_EMAIL=\"noreply@yourstore.com\"\n   ```\n\n3. **Start development server:**\n   ```bash\n   npm run dev\n   ```\n\n   This will:\n   - Build KeystoneJS schema\n   - Run database migrations\n   - Start Next.js development server with Turbopack\n\n4. **Access the application:**\n   - **Storefront**: [http://localhost:3000](http://localhost:3000) - Customer-facing store\n   - **Admin Panel**: [http://localhost:3000/dashboard](http://localhost:3000/dashboard) - Management interface\n   - **GraphQL API**: [http://localhost:3000/api/graphql](http://localhost:3000/api/graphql) - Interactive API explorer\n\n5. **Create your first admin user:**\n   On first visit to the admin panel, you'll be prompted to create an admin user account at `/dashboard/init`\n\n6. **Run store onboarding:**\n   After creating your admin account, use the onboarding process to set up your store with sample data\n\n## Development Commands\n\n- `npm run dev` - Build Keystone + migrate + start Next.js dev server\n- `npm run build` - Build Keystone + migrate + build Next.js for production\n- `npm run migrate:gen` - Generate and apply new database migrations\n- `npm run migrate` - Deploy existing migrations to database\n- `npm run lint` - Run ESLint\n\n### Payment Integration\nConfigure payment providers using the adapter pattern:\n\n```typescript\n// Payment provider integration\nconst paymentResult = await paymentProviderAdapter.createPaymentFunction({\n  cart,\n  amount: cart.total,\n  currency: cart.currency.code,\n  customer: cart.customer\n});\n```\n\n### Shipping Integration\nSet up shipping providers with flexible adapter system:\n\n```typescript\n// Shipping provider integration\nconst rates = await shippingProviderAdapter.getRatesFunction({\n  provider,\n  fromAddress: warehouse.address,\n  toAddress: order.shippingAddress,\n  packages: order.packages\n});\n```\n\n## Documentation\n\nFor comprehensive technical documentation, see [docs.openship.org/docs/openfront/ecommerce](https://docs.openship.org/docs/openfront/ecommerce/) which covers:\n- Complete data model specifications (78+ models)\n- GraphQL API reference and operations\n- Payment and shipping adapter systems\n- Access control and security model\n- Advanced e-commerce features\n\n## Security \u0026 Permissions\n\n### Role-Based Access Control\n- `canManageProducts` - Product catalog management\n- `canManageOrders` - Order processing and fulfillment\n- `canManageCustomers` - Customer management\n- `canManagePayments` - Payment processing\n- `canViewAnalytics` - Business analytics access\n\n### Security Features\n- Session-based authentication\n- API key authentication for integrations\n- Data encryption for sensitive information\n- Webhook signature verification\n- Comprehensive audit trails\n\n## Platform Components\n\n### Admin Platform (`/dashboard`)\n- **Analytics**: Real-time business insights and KPI tracking\n- **Orders**: Complete order management with fulfillment workflows\n- **Products**: Advanced catalog management with variants and inventory\n- **Customers**: Customer profiles with order history and segmentation\n- **Gift Cards**: Lifecycle management from creation to redemption\n- **Discounts**: Flexible promotion engine with rule-based discounts\n- **Settings**: Multi-regional configuration and provider management\n\n### Storefront Experience\n- **Product Discovery**: Advanced search, filtering, and categorization\n- **Shopping Cart**: Persistent cart with guest and authenticated checkout\n- **Checkout Flow**: Multi-step process with payment and shipping options\n- **Account Management**: Customer accounts with order tracking\n- **Responsive Design**: Mobile-first design with modern UI/UX\n\n## Deployment\n\n### Production Deployment\nOpenfront is production-ready and can be deployed to:\n\n- **Vercel**: One-click deployment with the button above\n- **Docker**: Containerized deployment with included Dockerfile\n- **Self-hosted**: Deploy to any Node.js hosting environment\n\n### Scaling Considerations\n- Multi-regional deployment support\n- Database optimization for large datasets\n- Background processing for intensive operations\n- CDN integration for static assets\n- Comprehensive monitoring and alerting\n\n## Contributing\n\nWe welcome contributions! Please see our contributing guidelines for details on:\n- Code standards and conventions\n- Testing requirements\n- Pull request process\n- Issue reporting\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- **Documentation**: Check our comprehensive documentation at [docs.openship.org/docs/openfront/ecommerce](https://docs.openship.org/docs/openfront/ecommerce/)\n- **Issues**: Report bugs and feature requests on GitHub Issues\n- **Community**: Join our community discussions\n- **Enterprise**: Contact us for enterprise support and custom development\n\n---\n\nBuilt on top of [next-keystone-starter](https://github.com/junaid33/next-keystone-starter)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshiporg%2Fopenfront","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshiporg%2Fopenfront","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshiporg%2Fopenfront/lists"}