{"id":21509255,"url":"https://github.com/mark24code/sinatra-app-template","last_synced_at":"2025-04-09T16:54:13.839Z","repository":{"id":39609723,"uuid":"405303137","full_name":"Mark24Code/sinatra-app-template","owner":"Mark24Code","description":"Sinatra web app template","archived":false,"fork":false,"pushed_at":"2024-02-04T05:02:31.000Z","size":55,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T19:05:11.994Z","etag":null,"topics":["mvc","rack","ruby","sequel","sinatra"],"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/Mark24Code.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":"2021-09-11T06:32:21.000Z","updated_at":"2023-07-17T14:55:22.000Z","dependencies_parsed_at":"2022-09-20T06:13:21.739Z","dependency_job_id":"0a180461-b86f-43a9-b728-084cb82a6a0e","html_url":"https://github.com/Mark24Code/sinatra-app-template","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fsinatra-app-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fsinatra-app-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fsinatra-app-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fsinatra-app-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mark24Code","download_url":"https://codeload.github.com/Mark24Code/sinatra-app-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248073969,"owners_count":21043475,"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":["mvc","rack","ruby","sequel","sinatra"],"created_at":"2024-11-23T21:22:36.532Z","updated_at":"2025-04-09T16:54:13.792Z","avatar_url":"https://github.com/Mark24Code.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sinatra App Template\n\nLightweight web framework codebase. Just clone and develop on it.\n\nTech component: Rack+Sinatra+Sequel and default use Postgresql database.\n\nAdd rails-like migration command line helpers.\n\n## Openbox Features\n\n### Apps\n\n- [x] Multi Env Configuration\n- [x] Multi router DSL base on Rack\n- [x] CORS support\n- [x] Hot reload\n- [x] Custom logger\n- [x] ORM base on Sequel\n\n### Tasks\n\n- [x] Rails-like migration helpers\n- [x] Test\n- [x] Seed\n\n### CI\u0026CD\n\n- [x] Dockerfile\n\n# Start To Use\n\n## Config App\n\n`config/*.config.rb` you can define something here to do boot jobs.\n\n## Database\n\nSetting database environment vars:\n\n```shell\nDATABASE_HOST\nDATABASE_PORT\nDATABASE_NAME\nDATABASE_USER\nDATABASE_PASSWORD\n```\n\n## Rake Tasks\n\n`rake` or `rake -T`\n\nall tasks in `config/tasks`, you can edit by yourself.\n\n## Run server \u0026 develop\n\n`rake server:dev`\n\n## Production Server \u0026 deploy\n\n`rake server:prod`\n\nyou can also use docker\n\n`docker built -t \u003cwhat your docker image label\u003e  .`\n\n# ORM \u0026 Tools\n\nProvide rails-like rake task help you build app quickly.\n\n```\nrake db:check                   # Checking for current migrations\nrake db:connect                 # Connect database\nrake db:console                 # Database Console\nrake db:create[database_name]   # Create database\nrake db:create_migration[name]  # Create a migration\nrake db:drop[database_name]     # Drop database\nrake db:ls                      # List database tables\nrake db:migrate[version]        # Run migrations\nrake db:rollback[version]       # Rollback to migration\nrake db:version                 # Prints current schema version\nrake docker:push[version]       # Push Docker\nrake list                       # List all tasks\nrake server:dev                 # Start development server\nrake server:prod                # Start production server\nrake test                       # Run tests\n```\n\n# Project Structure\n\n```\n.\n├── Dockerfile\n├── Gemfile\n├── Gemfile.lock\n├── LICENSE\n├── README.md\n├── Rakefile\n├── app\n│   ├── app.rb\n│   ├── middlewares\n│   │   ├── sample.middleware.rb\n│   │   └── sample_auth.middleware.rb\n│   ├── models\n│   │   └── sample.model.rb\n│   ├── routes\n│   │   └── hello.route.rb\n│   └── tests\n│       └── sample.test.rb\n├── config\n│   ├── core\n│   │   ├── base.rb\n│   │   └── connect_sequel.rb\n│   ├── cors.rb\n│   ├── database.rb\n│   ├── logger.rb\n│   ├── server.rb\n│   └── setting.rb\n├── config.ru\n├── logs\n│   ├── development.log\n│   └── production.log\n├── migrations\n└── tasks\n    ├── db.task.rb\n    ├── docker.task.rb\n    ├── server.task.rb\n    └── test.task.rb\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmark24code%2Fsinatra-app-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmark24code%2Fsinatra-app-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmark24code%2Fsinatra-app-template/lists"}