{"id":18818188,"url":"https://github.com/jonjondev/myway-sinatra","last_synced_at":"2026-05-06T00:35:46.116Z","repository":{"id":131356649,"uuid":"111257139","full_name":"jonjondev/myway-sinatra","owner":"jonjondev","description":"The super suave Sinatra framework","archived":false,"fork":false,"pushed_at":"2023-08-16T13:27:26.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T02:32:55.046Z","etag":null,"topics":["api","authentication","datamapper","framework","heroku","models","modular","myway","postgresql","puma","rspec","sinatra","sinatra-controller","sinatra-framework"],"latest_commit_sha":null,"homepage":"","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/jonjondev.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}},"created_at":"2017-11-19T02:13:37.000Z","updated_at":"2023-08-16T13:27:32.000Z","dependencies_parsed_at":"2024-12-30T04:15:43.616Z","dependency_job_id":null,"html_url":"https://github.com/jonjondev/myway-sinatra","commit_stats":null,"previous_names":["jonjondev/myway-sinatra"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonjondev%2Fmyway-sinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonjondev%2Fmyway-sinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonjondev%2Fmyway-sinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonjondev%2Fmyway-sinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonjondev","download_url":"https://codeload.github.com/jonjondev/myway-sinatra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239753733,"owners_count":19691162,"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":["api","authentication","datamapper","framework","heroku","models","modular","myway","postgresql","puma","rspec","sinatra","sinatra-controller","sinatra-framework"],"created_at":"2024-11-08T00:15:29.572Z","updated_at":"2025-10-25T17:36:31.983Z","avatar_url":"https://github.com/jonjondev.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/dYBREh2.png\" width=\"65%\"\u003e\n\u003c/p\u003e\n\n# MyWay: The Sinatra framework with infinite possibilities\n[![Build Status](https://travis-ci.org/jonjondev/myway-sinatra.svg?branch=master)](https://travis-ci.org/jonjondev/myway-sinatra)\n[![Maintainability](https://api.codeclimate.com/v1/badges/4bdd19a076d4fa065a59/maintainability)](https://codeclimate.com/github/jonjondev/myway-sinatra-api/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/4bdd19a076d4fa065a59/test_coverage)](https://codeclimate.com/github/jonjondev/myway-sinatra-api/test_coverage)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)\n\n\nMyWay is a **barebones Sinatra API framework with modular boilerplates**... and it's super suave.\n\nIts structure has been built out to be naturally quite opinionated. That being said however, the project's logic is easy enough to follow and **can easily be modified to suit your needs**.\n\n\n## Getting Started\n\nIf you want to use the **MyWay CLI** integration for MyWay, you can install it with:\n\n```bash\n$ gem install myway-cli\n```\n\nand run commands with using the `myway` prefix.\n\nYou can use the CLI to generate a new project from a template with:\n\n```bash\n$ myway generate project example-project\n```\n\nThen finally have bundle installed and run it in the project directory:\n\n```bash\n$ bundle\n```\n\nMake sure you have versions of [PostgreSQL](https://www.postgresql.org) and [Redis](https://redis.io) installed as the framework uses these for model persistence and authentication tokens respectively.\n\n## Running \u0026 Testing the Project\n\n### Using the MyWay CLI\n\nTo get the project running at `localhost:3000` run:\n```bash\n$ myway run server\n```\n\nTo test the project run:\n\n```bash\n$ myway run tests\n```\n\n*For more information, tips, and ticks, see the MyWay CLI gem [here](https://github.com/jonjondev/myway-cli)*\n\n### Using the Rakefile\n\nIf you're not using the CLI, you can run any of the standard commands using the included Rakefile as follows:\n\n```bash\n$ rake run_myway\n$ rake test_myway\n```\n\n## The Project Structure\n\n```\n[root]\n     |\n     |-[api]\n     |     |-[auth]\n     |     |-[v1]    \u003c- API files suffixed with `_api.rb`\n     |\n     |-[config]      \u003c- Configuration files for the application, models and webserver\n     |\n     |-[helpers]     \u003c- Helper files suffixed with `_helper.rb`\n     |\n     |-[models]      \u003c- Model files\n     |\n     |-[spec]\n            |-[auth]\n            |-[v1]   \u003c- Test files suffixed with `_spec.rb`\n```\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n## License\n\nThis project is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## To Do\n\n* ~~Base App With Modular Controllers~~\n* ~~API Boilerplate Module~~\n* ~~Use Puma for Server~~\n* ~~Make Heroku-Ready~~\n* ~~Automatic Code Reloading~~\n* ~~Controller Tests~~\n* ~~Set Up Travis~~\n* ~~Set Up CodeClimate~~\n* ~~Add ORM~~\n* ~~Add User Model~~\n* ~~Create CLI~~\n* ~~Add Authentication with Tokens~~\n* Add Self-Documenting API","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonjondev%2Fmyway-sinatra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonjondev%2Fmyway-sinatra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonjondev%2Fmyway-sinatra/lists"}