{"id":20345194,"url":"https://github.com/ryal/ryal","last_synced_at":"2025-04-12T00:40:26.790Z","repository":{"id":57545418,"uuid":"80885388","full_name":"ryal/ryal","owner":"ryal","description":":rosette: An e-commerce library for elixir; just to save you some pain, we're still in construction, so star us instead or donate!","archived":false,"fork":false,"pushed_at":"2017-08-08T13:13:36.000Z","size":284,"stargazers_count":86,"open_issues_count":5,"forks_count":3,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-25T20:21:37.568Z","etag":null,"topics":["e-commerce","ecommerce","ecommerce-library","ecommerce-platform","elixir","money","ryal","shop","shopping-cart","umbrella"],"latest_commit_sha":null,"homepage":"http://ryal.tech","language":"Elixir","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/ryal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-04T01:56:27.000Z","updated_at":"2024-03-24T13:36:56.000Z","dependencies_parsed_at":"2022-09-18T15:22:24.629Z","dependency_job_id":null,"html_url":"https://github.com/ryal/ryal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryal%2Fryal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryal%2Fryal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryal%2Fryal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryal%2Fryal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryal","download_url":"https://codeload.github.com/ryal/ryal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501960,"owners_count":21114681,"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":["e-commerce","ecommerce","ecommerce-library","ecommerce-platform","elixir","money","ryal","shop","shopping-cart","umbrella"],"created_at":"2024-11-14T22:07:14.571Z","updated_at":"2025-04-12T00:40:26.760Z","avatar_url":"https://github.com/ryal.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ryal\n\n[![Build Status](https://travis-ci.org/ryal/ryal.svg?branch=master)](https://travis-ci.org/ryal/ryal)\n[![Coverage Status](https://coveralls.io/repos/github/ryal/ryal/badge.svg)](https://coveralls.io/github/ryal/ryal)\n[![Hex.pm](https://img.shields.io/hexpm/v/ryal.svg)]()\n\n[**[rahy-uh l]**](http://www.dictionary.com/browse/ryal)\n\nnoun\n\n1. [rose noble](http://www.dictionary.com/browse/rose-noble).\n2. a former gold coin of Scotland, equal to 60 shillings.\n3. a former silver coin of Scotland, equal to 30 shillings.\n\nAn e-commerce library for elixir.\n\n## Usage\n\nRyal is a wrapper over several packages. Each one has its own purpose, but they all depend on two dependencies: Ecto and Ryal Core.\nThe core concept of Ryal is to make it easier for you to make money, which is essencially what the core is: a payment system.\nIf you're making a SaaS product and need to accept credit cards, the ryal_core package is all you need.\nThis is basically all Ryal tries to do at the end of the day: put money in your bank account.\n\nEach app inside of Ryal has a Readme which will detail exactly how to use that dependency.\nEach Ryal package has its own methods points of being configured and you should refer to those on their usage and configuration steps.\n\n## Quick Setup\n\nFirst and foremost, add Ryal to your mixfile and each umbrella application to the applications.\n\n```elixir\n# mix.exs\n\ndefp applications do\n  [:ryal_core]\nend\n\ndefp deps do\n  [\n    {:ryal, \"~\u003e 0.x\"}\n    # or, if you're brave and trust us (which you shouldn't):\n    {:ryal, github: \"ryal/ryal\"}\n  ]\nend\n```\n\nAdd this bad boy to your `config.exs` and replace `App` with the name of your\napplication. We're setting it to `:ryal_core` because that's what everything\nbuilds off of. Please see `Ryal.Core` for an explanation on the keys provided in\nthis configuration.\n\n```elixir\nconfig :ryal_core,\n  repo: App.Repo,\n  user_module: App.User,\n  user_table: :users,\n  payment_gateways: [\n    %{type: :bogus},\n    %{type: :stripe, token: \"sk_test_123\"}\n  ]\n```\n\nNow you'll want to copy over the migrations.\n\n```shell\nmix ryal.install\n```\n\nAnd, to mount the API (if you'll be using it), add this line to your router:\n\n```elixir\nforward \"/api\", Ryal.Api.Router\n```\n\nAlso, please don't forget to add pagination via [Scrivener](https://github.com/drewolson/scrivener) to your `Repo`:\n\n```elixir\ndefmodule App.Repo do\n  use Ecto.Repo, otp_app: :app\n  use Scrivener, page_size: 20\nend\n```\n\n## Contributing\n\nDon't hesitate to open a PR!\nWe're always happy to help out.\nIf you have a question, a bug report, or a performance issue, we're happy to hear about it and answer it.\nAlso, this project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.\n\n### Development\n\nRun this command over every package that you wish to test:\n\n```shell\nMIX_ENV=test mix db.reset\n```\n\nThen run the tests:\n\n```shell\nmix test\n```\n\n## Donations\n\n\u003cimg src=\"https://raw.githubusercontent.com/ryal/ryal/master/qr_code.png\" alt=\"1QHvBNzquxbczTwmdhr2cLCgcHrjWtFcD1\" align=\"right\" /\u003e\n\nWe currently accept donations with Bitcoin.\nIf you're really interested in this project and would love to see the development accelerate, you can always send us a message via email or on the Elixir Slack and let us know what you need.\nBy providing Bitcoin, the neurons in our brain suddenly begin feeling more interested.\nWallet QR code and address:\n\n```\n1QHvBNzquxbczTwmdhr2cLCgcHrjWtFcD1\n```\n\n## License\n\nThis package is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryal%2Fryal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryal%2Fryal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryal%2Fryal/lists"}