{"id":20779130,"url":"https://github.com/solidusio/solidus_frontend","last_synced_at":"2025-04-30T19:35:07.458Z","repository":{"id":37430124,"uuid":"472651641","full_name":"solidusio/solidus_frontend","owner":"solidusio","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-06T14:57:40.000Z","size":85275,"stargazers_count":2,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-29T04:28:05.207Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solidusio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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},"funding":{"open_collective":"solidus"}},"created_at":"2022-03-22T07:08:39.000Z","updated_at":"2024-08-02T02:23:22.000Z","dependencies_parsed_at":"2023-02-13T18:16:58.997Z","dependency_job_id":"55bf02ba-7c29-4ccc-9276-136413bcd617","html_url":"https://github.com/solidusio/solidus_frontend","commit_stats":{"total_commits":21149,"total_committers":1044,"mean_commits":"20.257662835249043","dds":0.8093526880703579,"last_synced_commit":"215fab98ac1bb3a7f527633448551e8808cb8917"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solidusio%2Fsolidus_frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solidusio%2Fsolidus_frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solidusio%2Fsolidus_frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solidusio%2Fsolidus_frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solidusio","download_url":"https://codeload.github.com/solidusio/solidus_frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251769913,"owners_count":21640994,"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":[],"created_at":"2024-11-17T13:26:11.477Z","updated_at":"2025-04-30T19:35:07.388Z","avatar_url":"https://github.com/solidusio.png","language":"Ruby","funding_links":["https://opencollective.com/solidus"],"categories":[],"sub_categories":[],"readme":"# solidus\\_frontend\n\nFrontend contains controllers and views implementing a storefront and cart for Solidus.\n\n## 🚧 Warning\n\nThis gem is deprecated and no longer part of the Solidus recommended stack.\n\nFor new Solidus apps, we recommend that you use\n[SolidusStarterFrontend](https://github.com/solidusio/solidus_starter_frontend)\ninstead.\n\nThis repository will only accept bug fixes and security patches for the\nbranches that match supported versions of Solidus:\n\n| Branch                                                          | End of Life |\n| --------------------------------------------------------------- | ----------- |\n| [v3.4](https://github.com/solidusio/solidus_frontend/tree/v3.4) | 2024-10-21  |\n| [v3.3](https://github.com/solidusio/solidus_frontend/tree/v3.3) | 2024-07-24  |\n| [v3.2](https://github.com/solidusio/solidus_frontend/tree/v3.2) | 2024-02-18  |\n\n## Override views\n\nIn order to customize a view you should copy the file into your host app. Using Deface is not\nrecommended as it provides lots of headaches while debugging and degrades your shops performance.\n\nSolidus provides a generator to help with copying the right view into your host app.\n\nSimply call the generator to copy all views into your host app.\n\n```bash\n$ bundle exec rails g solidus:views:override\n```\n\nIf you only want to copy certain views into your host app, you can provide the `--only` argument:\n\n```bash\n$ bundle exec rails g solidus:views:override --only products/show\n```\n\nThe argument to `--only` can also be a substring of the name of the view from the `app/views/spree` folder:\n\n```bash\n$ bundle exec rails g solidus:views:override --only product\n```\n\nThis will copy all views whose directory or filename contains the string \"product\".\n\n### Handle upgrades\n\nAfter upgrading Solidus to a new version run the generator again and follow on screen instructions.\n\n## Developing Solidus Frontend\n\n* Clone the Git repo\n\n  ```bash\n  git clone git://github.com/solidusio/solidus_frontend.git\n  cd solidus\n  ```\n\n### Without Docker\n\n* Install the gem dependencies\n\n  ```bash\n  bin/setup\n  ```\n\n  _Note_: If you're using PostgreSQL or MySQL, you'll need to install those gems through the DB environment variable.\n\n  ```bash\n  # PostgreSQL\n  export DB=postgresql\n  bin/setup\n\n  # MySQL\n  export DB=mysql\n  bin/setup\n  ```\n\n### With Docker\n\n```bash\ndocker-compose up -d\n```\n\nWait for all the gems to be installed (progress can be checked through `docker-compose logs -f app`).\n\nYou can provide the ruby version you want your image to use:\n\n```bash\ndocker-compose build --build-arg RUBY_VERSION=2.6 app\ndocker-compose up -d\n```\n\nThe rails version can be customized at runtime through `RAILS_VERSION` environment variable:\n\n```bash\nRAILS_VERSION='~\u003e 5.0' docker-compose up -d\n```\n\nRunning tests:\n\n```bash\n# sqlite\ndocker-compose exec app bundle exec rspec\n# postgres\ndocker-compose exec app env DB=postgres bundle exec rspec\n# mysql\ndocker-compose exec app env DB=mysql bundle exec rspec\n```\n\nAccessing the databases:\n\n```bash\n# sqlite\ndocker-compose exec app sqlite3 /path/to/db\n# postgres\ndocker-compose exec app env PGPASSWORD=password psql -U root -h postgres\n# mysql\ndocker-compose exec app mysql -u root -h mysql -ppassword\n```\n\nIn order to be able to access the [sandbox application](#sandbox), just make\nsure to provide the appropriate `--binding` option to `rails server`. By\ndefault, port `3000` is exposed, but you can change it through `SANDBOX_PORT`\nenvironment variable:\n\n```bash\nSANDBOX_PORT=4000 docker-compose up -d\ndocker-compose exec app bin/sandbox\ndocker-compose exec app bin/rails server --binding 0.0.0.0 --port 4000\n```\n\n### Sandbox\n\nSolidus is meant to be run within the context of Rails application. You can\neasily create a sandbox application inside of your cloned source directory for\ntesting purposes.\n\nThis sandbox includes solidus\\_auth\\_devise and generates with seed and sample\ndata already loaded.\n\n* Create the sandbox application\n\n  ```bash\n  bin/sandbox\n  ```\n\n  You can create a sandbox with PostgreSQL or MySQL by setting the DB environment variable.\n\n  ```bash\n  # PostgreSQL\n  export DB=postgresql\n  bin/sandbox\n\n  # MySQL\n  export DB=mysql\n  bin/sandbox\n  ```\n\n  If you need to create a Rails 5.2 application for your sandbox, for example\n  if you are still using Ruby 2.4 which is not supported by Rails 6, you can\n  use the `RAILS_VERSION` environment variable.\n\n  ```bash\n    export RAILS_VERSION='~\u003e 5.2.0'\n    bin/setup\n    bin/sandbox\n  ```\n\n* Start the server (`bin/rails` will forward any argument to the sandbox)\n\n  ```bash\n  bin/rails server\n  ```\n\n### Tests\n\nSolidus uses [RSpec](http://rspec.info) for tests. Refer to its documentation for\nmore information about the testing library.\n\n#### CircleCI\n\nWe use CircleCI to run the tests for Solidus as well as all incoming pull\nrequests. All pull requests must pass to be merged.\n\nYou can see the build statuses at\n[https://circleci.com/gh/solidusio/solidus_frontend](https://circleci.com/gh/solidusio/solidus_frontend).\n\n#### Run all tests\n\n[ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/home) is\nrequired to run the frontend suites.\n\nRun the tests\n\n```bash\nbundle exec rspec\n```\n\nBy default, `rspec` runs the tests for SQLite 3. If you would like to run specs\nagainst another database you may specify the database in the command:\n\n```bash\nenv DB=postgresql bundle exec rspec\n```\n\n#### Code coverage reports\n\nIf you want to run the [SimpleCov](https://github.com/colszowka/simplecov) code\ncoverage report:\n\n```bash\nCOVERAGE=true bundle exec rspec\n```\n\n### Releasing new versions\n\nPlease refer to the dedicated [page](https://github.com/solidusio/solidus/wiki/How-to-release-extensions) on Solidus wiki.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidusio%2Fsolidus_frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolidusio%2Fsolidus_frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidusio%2Fsolidus_frontend/lists"}