{"id":28390382,"url":"https://github.com/tinystruct/tinystruct","last_synced_at":"2025-06-14T02:03:42.116Z","repository":{"id":40523742,"uuid":"80163148","full_name":"tinystruct/tinystruct","owner":"tinystruct","description":"A lightweight java framework designed for building efficient and scalable applications. Supports both command-line tools and APIs, enabling developers to create robust solutions with ease. ","archived":false,"fork":false,"pushed_at":"2025-05-31T14:07:30.000Z","size":1838,"stargazers_count":133,"open_issues_count":4,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-31T14:26:39.524Z","etag":null,"topics":["framework","java","lightweight-framework","modular-design","netty","tinystruct","tomcat","undertow","webframework"],"latest_commit_sha":null,"homepage":"https://tinystruct.org","language":"Java","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/tinystruct.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-2.0.txt","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,"zenodo":null}},"created_at":"2017-01-26T22:46:44.000Z","updated_at":"2025-05-31T14:07:33.000Z","dependencies_parsed_at":"2023-11-15T16:28:44.360Z","dependency_job_id":"fc3dfa0a-7147-46da-ba34-1a2ba47f8a65","html_url":"https://github.com/tinystruct/tinystruct","commit_stats":null,"previous_names":[],"tags_count":156,"template":false,"template_full_name":null,"purl":"pkg:github/tinystruct/tinystruct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinystruct%2Ftinystruct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinystruct%2Ftinystruct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinystruct%2Ftinystruct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinystruct%2Ftinystruct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinystruct","download_url":"https://codeload.github.com/tinystruct/tinystruct/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinystruct%2Ftinystruct/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259747197,"owners_count":22905308,"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":["framework","java","lightweight-framework","modular-design","netty","tinystruct","tomcat","undertow","webframework"],"created_at":"2025-05-31T04:08:11.918Z","updated_at":"2025-06-14T02:03:42.109Z","avatar_url":"https://github.com/tinystruct.png","language":"Java","readme":"\n`\"How many are your works, O LORD ! In wisdom you made them all; the earth is full of your creatures.\"`\n***Psalms 104:24***\n\nThe tinystruct framework\n--\nA simple framework for Java development. Simple thinking, Better design, Easy to be used with better performance! \n\n[![Star History Chart](https://api.star-history.com/svg?repos=tinystruct/tinystruct\u0026type=Date)](https://www.star-history.com/#tinystruct/tinystruct\u0026Date)\n\nInstallation and Getting Started\n--\n* Add the dependency into your pom.xml.\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eorg.tinystruct\u003c/groupId\u003e\n  \u003cartifactId\u003etinystruct\u003c/artifactId\u003e\n  \u003cversion\u003e1.6.8\u003c/version\u003e\n  \u003cclassifier\u003ejar-with-dependencies\u003c/classifier\u003e\n\u003c/dependency\u003e\n```\n\n* Extend the AbstractApplication in Java:\n\n```java\npackage tinystruct.examples;\n\n\nimport org.tinystruct.AbstractApplication;\nimport org.tinystruct.ApplicationException;\nimport org.tinystruct.system.annotation.Action;\n\npublic class example extends AbstractApplication {\n\n    @Override\n    public void init() {\n        // TODO Auto-generated method stub\n    }\n\n    @Override\n    public String version() {\n        return \"1.0\";\n    }\n\n    @Action(\"praise\")\n    public String praise() {\n        return \"Praise the Lord!\";\n    }\n\n    @Action(\"say\")\n    public String say() throws ApplicationException {\n        if (null != getContext().getAttribute(\"--words\"))\n            return getContext().getAttribute(\"--words\").toString();\n\n        throw new ApplicationException(\"Could not find the parameter \u003ci\u003ewords\u003c/i\u003e.\");\n    }\n\n    @Action(\"say\")\n    public String say(String words) {\n        return words;\n    }\n\n}\n\n```\nSmalltalk: \u003ca href=\"https://github.com/tinystruct/smalltalk\"\u003ehttps://github.com/tinystruct/smalltalk\u003c/a\u003e\n\nExecute in CLI mode\n--\n```tcsh\n$ bin/dispatcher --version\n\n  _/  '         _ _/  _     _ _/\n  /  /  /) (/ _)  /  /  (/ (  /  1.6.8\n           /\n```\n```tcsh\n$ bin/dispatcher --help\nUsage: bin/dispatcher COMMAND [OPTIONS]\nA command line tool for tinystruct framework\nCommands: \n        download        Download a resource from other servers\n        exec            To execute native command(s)\n        generate        POJO object generator\n        install         Install a package\n        maven-wrapper   Extract Maven Wrapper\n        open            Start a default browser to open the specific URL\n        say             Output words\n        set             Set system property\n        sql-execute     Executes the given SQL statement, which may be an INSERT, UPDATE, DELETE, or DDL statement\n        sql-query       Executes the given SQL statement, which returns a single ResultSet object\n        update          Update for latest version\n\nOptions: \n        --allow-remote-access   Allow to be accessed remotely\n        --help                  Help command\n        --host                  Host name / IP\n        --import                Import application\n        --logo                  Print logo\n        --settings              Print settings\n        --version               Print version\n\nRun 'bin/dispatcher COMMAND --help' for more information on a command.\n```\n```tcsh\n$ bin/dispatcher say/\"Praise the Lord\"\nPraise the Lord\n```\n```tcsh\n$ bin/dispatcher say --words Hello --import tinystruct.examples.example\nHello\n```\n\nRun it in a http server based on netty\n--\n```tcsh\n# bin/dispatcher start --import org.tinystruct.system.NettyHttpServer \n```\nYou can access the below URLs:\n\n* \u003ca href=\"http://localhost:8080/?q=say/Praise%20to%20the%20Lord!\"\u003ehttp://localhost:8080/?q=say/Praise%20to%20the%20Lord! \u003c/a\u003e\n* \u003ca href=\"http://localhost:8080/?q=praise\"\u003ehttp://localhost:8080/?q=praise\u003c/a\u003e\n\nArchitecture\n--\n![tinystruct-framework-architecture](https://github.com/tinystruct/tinystruct/assets/3631818/288049b7-cefd-4442-b6d8-8624ae75cdc2)\n\nLicense\n--\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","funding_links":[],"categories":["📚 Projects (1974 total)","开发框架","Projects"],"sub_categories":["MCP Servers","Web Frameworks"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinystruct%2Ftinystruct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinystruct%2Ftinystruct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinystruct%2Ftinystruct/lists"}