{"id":26720965,"url":"https://github.com/adamjosefus/allo_controllers","last_synced_at":"2025-06-10T20:04:22.019Z","repository":{"id":37031341,"uuid":"459726590","full_name":"adamjosefus/allo_controllers","owner":"adamjosefus","description":"🦕 Simple \"convention over configuration\" Controllers solution  for Deno.","archived":false,"fork":false,"pushed_at":"2022-07-04T15:42:56.000Z","size":102,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-29T13:01:39.712Z","etag":null,"topics":["controller","deno","framework","mvc","router","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adamjosefus.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":"2022-02-15T19:47:17.000Z","updated_at":"2022-03-01T11:07:01.000Z","dependencies_parsed_at":"2022-09-04T13:52:10.373Z","dependency_job_id":null,"html_url":"https://github.com/adamjosefus/allo_controllers","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/adamjosefus%2Fallo_controllers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamjosefus%2Fallo_controllers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamjosefus%2Fallo_controllers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamjosefus%2Fallo_controllers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamjosefus","download_url":"https://codeload.github.com/adamjosefus/allo_controllers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamjosefus%2Fallo_controllers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258642434,"owners_count":22734668,"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":["controller","deno","framework","mvc","router","typescript"],"created_at":"2025-03-27T19:35:14.397Z","updated_at":"2025-06-10T20:04:21.988Z","avatar_url":"https://github.com/adamjosefus.png","language":"TypeScript","readme":"# **Allo Controllers** for Deno 🦕\n\nSimple \"convention over configuration\" Controllers solution for Deno.\n\nExtends the [**Allo Routing**](https://deno.land/x/allo_routing/mod.ts) framework with a **Controllers** layer.\n\n# Controller\n\n```ts\n// ./controllers/HomepageController.ts\nimport { Controller } from \"../../libs/Controller.ts\";\n\nexport class HomepageController extends Controller {\n    renderDefault() {\n        this.sendText(\"Hello World!\");\n    }\n}\n```\n\n\n```ts\n// ./main.ts\nimport { Server } from \"https://deno.land/x/allo_server/mod.ts\";\nimport { ControllerManager, RouterList } from \"https://deno.land/x/allo_controllers/mod.ts\";\n\nconst manager = new ControllerManager(\"./controllers\");\n\nconst router = new RouterList(manager);\nrouter.addController(\"homepage/\u003caction\u003e\", \"Homepage:default\");\n\nconst server = new Server(router);\nserver.listen({ port: 8080 });\n```\n\n## Life Cycle\n```mermaid\n  %% Looks weird? View on github.\n\n  flowchart TB\n  A(\"contructor()\") --\u003e B(\"inject*()\")\n  B --\u003e C(\"onStartup() \u0026\u0026 startup()\")\n  C --\u003e D(\"action\u003c'Action'\u003e()\")\n  D --\u003e E(\"beforeRender() \u0026\u0026 onRender()\")\n  E --\u003e F(\"render\u003c'View'\u003e()\")\n  F --\u003e G(\"afterRender()\")\n  G --\u003e H(\"onShutdown() \u0026\u0026 shutdown()\")\n\n```\n\n\n---\n\n\n## Documentation 📖\n\nDescription of all classes and methods with **examples**\nwill found in the [documentation](https://doc.deno.land/https://deno.land/x/allo_controllers/mod.ts).\n\n\n---\n\nCheck out other [ours packages 📦](https://deno.land/x?query=allo_)!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamjosefus%2Fallo_controllers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamjosefus%2Fallo_controllers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamjosefus%2Fallo_controllers/lists"}