{"id":13819824,"url":"https://github.com/Layer-One-Capital/react-shopify-app","last_synced_at":"2025-05-16T07:32:09.429Z","repository":{"id":143449478,"uuid":"88776277","full_name":"Layer-One-Capital/react-shopify-app","owner":"Layer-One-Capital","description":"A React/Rails Shopify base app maintained by Plug in SEO","archived":false,"fork":false,"pushed_at":"2018-09-11T16:24:13.000Z","size":187,"stargazers_count":40,"open_issues_count":2,"forks_count":9,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-14T05:37:18.035Z","etag":null,"topics":["pluginseo","pluginuseful","shopify","shopify-apps","shopify-partners"],"latest_commit_sha":null,"homepage":"https://apps.shopify.com/plug-in-seo","language":"Ruby","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/Layer-One-Capital.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}},"created_at":"2017-04-19T18:13:39.000Z","updated_at":"2025-01-15T02:51:26.000Z","dependencies_parsed_at":"2023-05-24T09:00:46.164Z","dependency_job_id":null,"html_url":"https://github.com/Layer-One-Capital/react-shopify-app","commit_stats":null,"previous_names":["layer-one-capital/react-shopify-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Layer-One-Capital%2Freact-shopify-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Layer-One-Capital%2Freact-shopify-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Layer-One-Capital%2Freact-shopify-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Layer-One-Capital%2Freact-shopify-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Layer-One-Capital","download_url":"https://codeload.github.com/Layer-One-Capital/react-shopify-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254488354,"owners_count":22079415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["pluginseo","pluginuseful","shopify","shopify-apps","shopify-partners"],"created_at":"2024-08-04T08:00:53.552Z","updated_at":"2025-05-16T07:32:08.183Z","avatar_url":"https://github.com/Layer-One-Capital.png","language":"Ruby","funding_links":[],"categories":["Happy Exploring 🤘"],"sub_categories":[],"readme":"# React Shopify app\n\nA full-featured React/Rails base app for building a Shopify app. Used and maintained by [Plug in SEO, a top-rated Shopify app](https://apps.shopify.com/plug-in-seo) with 100k users.\n\n## Features\n\n* Shopify authentication\n* Username/password authentication\n* Anonymous users: let people try out your app without creating an account\n* Add other platform integrations cleanly\n* Shopify charges\n* Search for users by email/website/shop (useful for support teams without giving them access to your partner admin)\n* Unsubscribe from email\n* [Material UI](http://www.material-ui.com/#/) styling throughout React app, static pages and email templates\n* Works great on mobile: responsive components, [lightweight grid](http://neat.bourbon.io/)\n* Agnostic analytics tracking using [Segment](https://segment.com/)\n* Static public website\n* Structure for batch jobs including logging and locking\n* All build and deploy scripts included: ready to run and deploy\n\n### Why use it?\n\nYou'll have a production ready React Shopify app in no time at all! Focus on just building the features that'll get people to pay for your app.\n\n### Why not to use?\n\nIf you want a minimal, lightweight boilerplate this is not the project you're looking for. Its aim is to support all of the pieces needed for most Shopify apps: copy, paste, configure, deploy.\n\nBut you might want to look at using just the [common](https://github.com/pemberton-rank/common) and [common frontend](https://github.com/pemberton-rank/common-frontend) package / gem instead. Or going through the code here and taking just the bits you want (with the MIT license you can do pretty much anything).\n\n## Architecture\n\nThe [common](https://github.com/pemberton-rank/common) and [common frontend](https://github.com/pemberton-rank/common-frontend) repos contain functionality shared across all of our apps. Things that are only used by one app, stuff that doesn't make sense to have in common, and config lives in this repo.\n\nWhen building a new app, simply copy this repo and then configure it.\n\nApps reference a specific release of common and common-frontend, making sure we can safely update new versions without breaking the others or forcing us to upgrade all of them at once.\n\n## Getting started\n\nPull down the repo and create a copy. The bits you need to configure can generally be found by doing a search for 'TODO'.\n\nHere are the files you need to edit to get your development environment going:\n\n* /client/package.json\n* /config/initializers/devise.rb\n* /config/application.yml\n* /config/database.yml\n* /config/secrets.yml\n* /config/session_store.rb\n* /config/settings.yml\n\nThen:\n\n* ```bundle install```\n* ```bundle exec rake db:setup```\n* ```bundle exec rails s -p 3000``` this is the API\n* ```cd client```\n* ```npm install```\n* ```npm start run``` the React app\n\nNavigate to localhost:8080 and you should see the static website homepage. Try to sign up to test the React app and Rails API.\n\n## Getting it production ready\n\nWe run staging and production environments, so you'll see code related to this. But you can go straight to production if you wish to only have one environment.\n\nDouble check these bits (you might have already edited them during dev):\n\n* /config/schedule.rb\n* /config/deploy.rb\n* /client/index.template.ejs\n* /client/assets/images/logo.png\n* /app/controllers/charges_controller.rb\n* /app/controllers/webhooks_controller.rb\n* /public/favicon.ico\n* /public/404.html\n* /public/500.html\n\nThen set up your configuration for the environments:\n\n* /config/initializers/mail.rb\n* /config/deploy/production.rb\n* /config/deploy/staging.rb\n* /config/settings/production.yml\n* /config/settings/staging.yml\n* /config/application.production.yml\n* /config/application.staging.yml\n* /config/database.production.yml\n* /config/database.staging.yml\n\n### Installing SSL Certificates\nInstall `certbot` on remote server using next commands:\n\n```\nsudo apt-get install software-properties-common\nsudo add-apt-repository ppa:certbot/certbot\nsudo apt-get update\nsudo apt-get install python-certbot-nginx\n```\n\nThen obtain SSL certificates on local machine using (this can take a while due to strong DH param generation):\n\n`bundle exec cap production ssl:setup`\n\nCertificates will renew automatically.\n\n\n## Deploying\n\n```bundle exec cap staging deploy``` deploys master to staging\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLayer-One-Capital%2Freact-shopify-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLayer-One-Capital%2Freact-shopify-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLayer-One-Capital%2Freact-shopify-app/lists"}