-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
saleor
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React. (by render-examples)
-
saleor-storefront
Discontinued A GraphQL-powered, NextJs-based, PWA storefront for Saleor. IMPORTANT: This project is [DEPRECATED] in favor of saleor/react-storefront soon to become our default demo and storefront starter pack.
-
storefront
Saleor Storefront built with React 18, Next.js 14, App Router, TypeScript, GraphQL, and Tailwind CSS. (by saleor)
# …snip… - name: saleor-dashboard type: web env: static repo: https://github.com/saleor/saleor-dashboard buildCommand: npm install && API_URI="$TEMP_API_URI/graphql/" npm run build staticPublishPath: ./build/ envVars: - key: TEMP_API_URI fromService: name: saleor type: web envVarKey: RENDER_EXTERNAL_URL - key: APP_MOUNT_URI value: /dashboard/ - key: STATIC_URL value: /dashboard/ routes: - type: rewrite source: / destination: /dashboard/index.html
There is one more reason we chose the Saleor project for this guide. We often hear questions about Docker Compose from our users interested in taking advantage of Render’s implementation of IaC (infrastructure-as-code). Within on of its repositories, the Saleor project maintains code and documentation for deploying all components of Saleor using Docker Compose. This guide will also discuss how we translated that docker-compose.yml into a Render Blueprint.
services: - name: saleor type: web env: python repo: https://github.com/render-examples/saleor buildCommand: pip3 install -r requirements.txt && python manage.py migrate --no-input startCommand: ALLOWED_HOSTS=".onrender.com" gunicorn --bind :$PORT --workers 4 --worker-class uvicorn.workers.UvicornWorker saleor.asgi:application envVars: - key: DJANGO_SETTINGS_MODULE value: saleor.settings - key: DEBUG value: True - key: NPM_CONFIG_PRODUCTION alue: false - key: DEFAULT_FROM_EMAIL value: [email protected] - key: ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL value: False - key: SECRET_KEY generateValue: true - key: DATABASE_URL fromDatabase: name: saleor-db property: connectionString - key: REDIS_URL fromService: type: redis name: saleor-redis property: connectionString - key: PYTHON_VERSION value: 3.9.0 databases: - name: saleor-db ipAllowList: [] # only allow internal connections
With the API for our Django app scaffolded, we’re ready to define a frontend service to consume it. The Saleor platform deployed on Heroku includes the saleor-dashboard, so we’ll define this in our Blueprint next. It is a single-page Node.js dashboard app, defined in an app.json file for Heroku deployment, and uses Heroku’s static buildpack. When we migrate saleor-dashboard to Render, we’ll use Render’s static environment. This component of our infrastructure will run for free, since Static Sites are always free on Render, and Render will serve it over a global CDN with fully managed TLS certificates. Let’s add to our render.yaml.
If I’m comparing this project to a painting, it's time we added something pretty. The final frontend piece of the Saleor platform, the storefront, is deployed to Heroku as part of the Saleor demo in its original version of the storefront. This storefront is now deprecated because in 2021, the Saleor project added a new storefront service built with Next.js, TypeScript, and Tailwind CSS. The original saleor-storefront can be migrated from Heroku similarly to the API and Dashboard projects, but Heroku deployment hasn’t been added to the new react-storefront repository. The more modern react-storefront contains a development Dockerfile that provides clues to deployment requirements. In this guide, we’ll deploy the react-storefront as the final component of our demo Saleor instance.
If I’m comparing this project to a painting, it's time we added something pretty. The final frontend piece of the Saleor platform, the storefront, is deployed to Heroku as part of the Saleor demo in its original version of the storefront. This storefront is now deprecated because in 2021, the Saleor project added a new storefront service built with Next.js, TypeScript, and Tailwind CSS. The original saleor-storefront can be migrated from Heroku similarly to the API and Dashboard projects, but Heroku deployment hasn’t been added to the new react-storefront repository. The more modern react-storefront contains a development Dockerfile that provides clues to deployment requirements. In this guide, we’ll deploy the react-storefront as the final component of our demo Saleor instance.