{"id":14966633,"url":"https://github.com/webpolis/daturajs","last_synced_at":"2026-01-22T05:33:04.405Z","repository":{"id":7060345,"uuid":"8343268","full_name":"webpolis/daturajs","owner":"webpolis","description":"NodeJS MVC Framework","archived":false,"fork":false,"pushed_at":"2020-05-19T01:13:52.000Z","size":11274,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T05:31:04.847Z","etag":null,"topics":["angularjs","javascript","mvc","mvc-framework","mysql","nodejs","nodejs-framework","yii","yii-framework"],"latest_commit_sha":null,"homepage":null,"language":"CSS","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/webpolis.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}},"created_at":"2013-02-21T20:24:46.000Z","updated_at":"2020-05-19T01:13:55.000Z","dependencies_parsed_at":"2022-09-04T14:50:56.937Z","dependency_job_id":null,"html_url":"https://github.com/webpolis/daturajs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/webpolis/daturajs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpolis%2Fdaturajs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpolis%2Fdaturajs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpolis%2Fdaturajs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpolis%2Fdaturajs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webpolis","download_url":"https://codeload.github.com/webpolis/daturajs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpolis%2Fdaturajs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28656279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"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":["angularjs","javascript","mvc","mvc-framework","mysql","nodejs","nodejs-framework","yii","yii-framework"],"created_at":"2024-09-24T13:36:43.697Z","updated_at":"2026-01-22T05:33:04.382Z","avatar_url":"https://github.com/webpolis.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"| This is outdated. It has more than 7 years. But it still works as it is.\n\n| I'm obviously not doing anything else here since technology has changed a lot.\n\n| It may be useful for someone who's willing to try something else.\n\nnodejs application framework (aka daturajs)\n===========================================\n\n**Author**: _Nicolas Iglesias_ \u003c\u003cnfiglesias@gmail.com\u003e\u003e\n\nIntroduction\n----------\n\u003cimg width=\"150\" align=\"left\" src=\"https://github.com/webpolis/daturajs/blob/master/lib/doc/daturajs.png?raw=true\" /\u003e\n\nThis framework is somehow inspired in the **MVC** pattern, followed by some PHP frameworks - CakePHP, Yii -.\nThe base concept is to provide an easy to mantain and extensible application framework \npurely based on the Javascript language - and its father ECMAScript (http://www.ecmascript.org/) -.\nDue to the different natures of PHP and JS, some developers might find the js OOP patterns \nhard to follow, so some good knowledge of this subject is required in order to use daturajs.\n\nBy default, daturajs includes **REST** support so it's good for applications offering \na REST API endpoint, providing you the opportunity to separate business logic from \nthe presentation layer, and also serving your API to other clients such a mobile app \nor PHP application.\n\nAnd if you're still wondering why this framework is so different from the others, \ndaturajs provides a command line application which generates a fully functional \napp skeleton based on your database schema configuration. Not original, right? Well, \ndaturajs is delivered with AngularJs - http://angularjs.org - support, so you'll get \na full featured UI, with grids and modular forms so you can be up and running in a \nmatter of minutes.\n\nYou won't believe how easy is to build a fast, modern and powerful application.\n\n\n## Directory structure\n\nNot being that far from its PHP counterparts, daturajs provides an understandable \ntree, containing most common folders for a web framework - althought this framework \nit is not only intended to be used in websites -.\nThe current status of the project reflects the following structure:\n\n\u003e**lib**  Core libraries and modules for custom framework implementation. \nNo modifications may be needed to be done by the developer.\n\u003e\u003e**doc**  Framework's documentation.\n\u003e\n\u003e\u003e**adapters**  ORM adapters, etc. Many will be added in the future.\n\u003e\n\u003e\u003e**components**  Core components widely used, including authentication.\n\u003e\n\u003e\u003e**console**  Scripts that will generate models, controllers and views. \nMore features will be added in the future - generate full app skeleton -.\n\u003e\n\u003e\u003e**helpers**  Useful libraries (html, menu, etc).\n\u003e\n\u003e\u003e**controllers**  Basic setup of application's controllers\n\u003e\n\u003e\u003e\u003e**rest**\n\u003e\n\u003e\u003e**models**  Basic setup of application's models.\n\u003e\n\u003e**node_modules**  All nodejs libraries and dependencies are stored here.\n\u003e\n\u003e**public**  This folder is publicly accessed via GET /\n\u003e\n\u003e\u003e**css**\n\u003e\n\u003e\u003e**img**\n\u003e\n\u003e\u003e**js**\n\u003e\n\u003e**src**  Most of your custom development tasks occur here.\n\u003e\n\u003e\u003e**assets**  Assets that require some processing before being made public.\n\u003e\n\u003e\u003e\u003e**less**  Lesscss file that will be compiled into /public/css.\n\u003e\n\u003e\u003e**config**  main.js is the setup file for your application. \nroutes.js contains specification for URL paths and actions taken when receiving specific requests.\n\u003e\n\u003e\u003e**controllers**  Your controllers will reside here.\n\u003e\u003e\u003e**rest**  If you need a REST API, this is the place to go.\n\u003e\n\u003e\u003e**models**  ORM specific models.\n\u003e\n\u003e\u003e**views**  This framework use the 'ejs' template system. \nSupport for new engines is planned for the future.\n\u003e\u003e\u003e**elements**  Atomic elements to be included in your views.\n\u003e\n\u003e\u003e\u003e**layouts**  The templates for your views.\n\u003e\n\u003e\u003e\u003e**static**  Static pages should reside here.\n\n## Installation / Setup\n\nAfter you checkout or decompress the daturajs package, you must resolve all dependencies by \nissuing the following command:\n\n```\nnpm install -d\n```\n\n## Application Skeleton generator\n\nThe application generator will let you setup your application in a few minutes. \nYou'll end up by providing a rich-featured UI, built on top of AngularJS, serving \na fast \u0026 powerful AJAX-based CRUD interface... without writting a piece of code!\nRun this command without arguments to see how you can customize your new app.\n\n```\nnode ./lib/console/generator.js\n```\n\n## Run / Execution\n\nSince daturajs is a pure nodejs framework, there is no need to have an instance of a \nwww server running - nginx, apache, etc -. The only method to make it work is by \nissuing the following command:\n\n```\n./start.sh\n```\n\nThis file is generated by the application generator, so please check your valid \nport numbers when running it.\n\n## Documentation\n\nPlease check our Wiki or start here: https://github.com/webpolis/daturajs/wiki/Guide\n\n# LICENSE\n\n(MIT License)\n\nCopyright (c) 2013 Nicolas Iglesias \u003cnfiglesias@gmail.com\u003e\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebpolis%2Fdaturajs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebpolis%2Fdaturajs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebpolis%2Fdaturajs/lists"}