{"id":16370823,"url":"https://github.com/integralist/mvcp","last_synced_at":"2025-10-26T07:32:06.502Z","repository":{"id":11307861,"uuid":"13725173","full_name":"Integralist/MVCP","owner":"Integralist","description":"Implementing the Presenter architectural pattern alongside MVC (using Sinatra)","archived":false,"fork":false,"pushed_at":"2013-10-24T08:30:04.000Z","size":122,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T17:21:14.003Z","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":"offensive-security/exploit-database","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Integralist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-20T19:22:04.000Z","updated_at":"2017-10-30T12:22:23.000Z","dependencies_parsed_at":"2022-09-18T05:01:19.400Z","dependency_job_id":null,"html_url":"https://github.com/Integralist/MVCP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Integralist/MVCP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2FMVCP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2FMVCP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2FMVCP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2FMVCP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Integralist","download_url":"https://codeload.github.com/Integralist/MVCP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2FMVCP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281074244,"owners_count":26439422,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-10-11T03:06:11.867Z","updated_at":"2025-10-26T07:32:06.171Z","avatar_url":"https://github.com/Integralist.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MVCP (Model View Controller Presenter)\n\nThis is a Sinatra based application running an MVCP architecture\n\n## Usage\n\nFirst install the dependencies: `gem install bundler \u0026\u0026 bundle`\n\nThen from there whenever you want to run the Sinatra app: `bundle exec shotgun`\n\n## Application Architecture\n\nWithin the `config.ru` we load a helper module and the main Application\nController.\n\nRouting is handled within `config.ru` using the Rack `map` method and that loads\nthe relevant Controller.\n\nAll other Controllers inherit from the Application Controller.\n\nWe get data from our Models and because we have lots of components (all of which\npotentially have lots of data that would normally be set-up by the Controller)\nwe will use the Presenter pattern to get the data from the Models instead and\nthen have a presenter handle the preparation of view data.\n\n## Directory Structure\n\n- app\n  - controllers\n  - helpers\n  - models\n  - presenters\n  - views\n    - components \n- public\n    - scripts\n    - styles\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintegralist%2Fmvcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintegralist%2Fmvcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintegralist%2Fmvcp/lists"}