{"id":22678453,"url":"https://github.com/web2solutions/t-rex-specs","last_synced_at":"2026-01-07T15:35:37.823Z","repository":{"id":36448536,"uuid":"40753589","full_name":"web2solutions/T-Rex-Specs","owner":"web2solutions","description":"Build rich \u0026\u0026 high available enterprise web applications","archived":false,"fork":false,"pushed_at":"2015-11-02T16:10:34.000Z","size":268,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-04T13:44:42.708Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"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/web2solutions.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":"2015-08-15T09:34:22.000Z","updated_at":"2015-11-19T16:49:26.000Z","dependencies_parsed_at":"2022-08-18T00:15:15.331Z","dependency_job_id":null,"html_url":"https://github.com/web2solutions/T-Rex-Specs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web2solutions%2FT-Rex-Specs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web2solutions%2FT-Rex-Specs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web2solutions%2FT-Rex-Specs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web2solutions%2FT-Rex-Specs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web2solutions","download_url":"https://codeload.github.com/web2solutions/T-Rex-Specs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246187242,"owners_count":20737462,"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":[],"created_at":"2024-12-09T18:15:22.377Z","updated_at":"2026-01-07T15:35:37.770Z","avatar_url":"https://github.com/web2solutions.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# T-Rex Toolkit\n\n\u003e Build rich \u0026\u0026 high available enterprise web applications\n\nT-Rex is a complete web toolkit and framework.\n\nIt lets you to create enterprise web apps in a very short time and with no line of code.\n\nit composed by the following softwares:\n\n - AgileREST\n - AgileWebsocket\n - Agile Visual Designer\n - $dhx Framework\n - T-Rex webOS\n\n## AgileREST\n\nThe AgileRest layer is a high available REST environment built on top of Mojolicious, \na fantastic and modern Perl framework.\n\nThis layer is responsible to provide DB and IO server support for all authenticated clients.\n\nThe communication between Client and Server is performed via HTTP in a REST way.\n \nThis app runs on a pre-forking box, with multiple workers, which may be easily scalated.\n\nIt provides asynchronous tasks always as possible.\n \nNginx is in front of the API end points working as load ballancer/proxy.\n \nThe AgileRest layer provides support for hot deploy of new REST end points.\n \nThe AgileRest layer provides automatic generated doc for each mapped server resource.\n\n\tThe generated docs provides all techinal informations about each REST end point.\n\t\n\tIt provides several working client code samples for all type of operations that \n\tare supported by the end point.\n \nThe AgileRest Layer does not servers static content, which is served via CDN / Nginx.\n \nEach server resource is fully protected via HTTP authorizations and tokens\n\nRepository: https://github.com/web2solutions/AgileREST\n\n\n\tRDBMS: PostgreSQL 9.4\n\tdata cache: Redis\n\tApplication language: Perl\n\tFramework: Mojolicious\n\n\n## AgileWebsocket\n\nThe AgileWebsocket, also built on top of Mojolicious, is a realtime application that is responsible by the messaging system on T-rex.\n\nThe back-end is a Redis pub-sub. (RabbitMQ coming soon)\n\nThis messaging system is used by 3 main tasks:\n\n\t- bind and sync between client components X indexedDB X server.\n\t- propagate application state between connected clients.\n\t- communication with stand alone server workers.\n\nRepository: https://github.com/web2solutions/AgileWebsocket\n\n\t\n\tMQ: Redis (RabbitMQ coming soon)\n\tApplication language: Perl\n\tFramework: Mojolicious\n\n\n## Agile Visual Designer\n\nAgile Visual Designer is a very sophisticated RAD/CASE* tool. \n\nMore than that, it is a Database and Web Application designer.\n\nAgile Designer is the responsible tool for creating database tables, \nREST end points, client meta data, generic and complete CRUDL interfaces.\n\nWith Agile Visual designer, you are able to build advanced CRUDL applications to be \nautomatically integrated on T-Rex webOS with no line of code.\n\nIt generates, in seconds, complex applications that you would spend weeks or months writing it.\n\nIt provides also, fully and agile support for building custom applications that will \nrun and consume resources from T-Rex webOS.\n\n\tFront-End: \n\t- Language: Javascript\n\t- Framework: DHTMLX\n\n\tBack-End:\n\t- Application layer: AgileRest\n\t- data layer: PostgreSQL\n\n* See:\n\n\thttps://www.youtube.com/watch?v=mHSa_5qI1Ps\n\n\t\"https://en.wikipedia.org/wiki/Rapid_application_development\" \u0026\u0026\n\n\t\"https://en.wikipedia.org/wiki/Computer-aided_software_engineering\"\n\n\n## $dhx Framework\n\n - dhx DataDriver\n - dhx Rest\n - dhx Cruder\n - dhx component proxy\n - dhtmlx modifiers\n - dhx desktop (T-Rex webOS)\n\n\nRepository: https://github.com/web2solutions/dhx\n\n## T-Rex webOS\n\nT-Rex webOS, is a Javascript application which offers a full featured enterprise environment.\n\nIt include features like:\n\n - Server and client database with a very sophisticated data types, data validation and data sync system.\n - Share database and tables through multiple applications\n \tDevelopers will not care about data models, focusing only on controller and view for every new created application\n - Syncing and binding components\n - client state persistance through websocket and RabbitMQ\n - shared REST communication with server\n - shared websocket communication with server\n - User management and permissions\n - Personal user settings\n - Localization - US and BR. It's very easy to create your own localization.\n - Latinization of forms\n - Built in PDF viewer\n - Built in PDF export for grids\n - Built in CSV export for grids\n - RAD designer\n - File Explorer application\n - Webmail\n - Authentication over HTTP\n - Easy installation of plugins (Javascript modules)\n - Easy installation of custom applications (Javascript modules)\n\nThe webOS offers 4 main type of applications\n\n - T-Rex built in applications\n \t- Complete search over all data and applications though a ominibox\n \t- User preferences application\n \t- File Explorer\n\n - Cruders\n\n \tCruders are generated CRUDs designed at Agile Visual Designer. \n \tIt provides a full CRUD interface for every maped table.\n\n \tThe generated cruds provide rich form validations and masks, \n \t\n \trich validation and masks for grid cells.\n \t\n \tsophisticated uploader system with validation and limit of files.\n\n \tThere is also available, a 'preview file system' built in on every section of cruds where you are viewing records.\n\n - Plugins\n\n \tPlugins are Javascript applications which may be created by any person using Javascript and module pattern.\n \t\n \tPlugins are started when T-Rex starts.\n\n \tEvery plugin has it own button on T-Rex's Top Bar which will be responsible by rendering the plugin's view.\n \t\n \tIt may have or not a button on T-Rex's Left Side Bar\n\n\n - Custom application\n\n \tCustom applications are Javascript applications which may be created by any person using Javascript and module pattern.\n \t\n \tApplications are started when you clicks on it icon.\n \t\n \tEvery application has it own button on T-Rex's Left Side Bar which will be responsible by starting the application calling it start() method from application's controller.\n\n\n\n\n #### Note:\n\n\n \tT-Rex offers directly access to the complete data model and storage for every registered application or plugin. \n\n \tIt means, except when the developer need to created a new database table, he will not need worry about the model of the application,\n \tkeep focusing on the controller and view layer only. \n\n \tIt has available also,  all meta data for DHTMLX forms for every table on the shared database. It means developer will may take advantage of T-Rex even for designing him application's forms.\n\n \tEvery registered application has directly and authenticated server access through $dhx.REST.API namespace and AgileREST server stack. Check it documentation. https://github.com/web2solutions/dhx/blob/master/docs/%24dhx.REST.API.md\n\n \tEvery registered application has directly local database access automatically keeping it in sync with online database through the $dhx.dataDriver namespace. Check it documentation: https://github.com/web2solutions/dhx/blob/master/docs/%24dhx.dataDriver.md\n\n \tThe Agile Visual Designer provides full and live documentation about each REST(AgileREST server stack) end point with example codes.\n\nRepository: T-Rex is built on top of $dhx framework, under the namespace $dhx.ui.desktop\n\n\nhttps://www.youtube.com/watch?v=_m1HhH4l5HA\n\n### AUTHORS, LICENSE AND COPYRIGHT\n\n - José Eduardo Perotta de Almeida. eduardo at web2solutions.com.br\n\n  Copyright 2015 \n\n- GPL v2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb2solutions%2Ft-rex-specs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb2solutions%2Ft-rex-specs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb2solutions%2Ft-rex-specs/lists"}