{"id":13806426,"url":"https://github.com/scx567888/scx","last_synced_at":"2025-10-23T15:30:50.579Z","repository":{"id":260214950,"uuid":"808025737","full_name":"scx567888/scx","owner":"scx567888","description":"✨ A simple Web development framework","archived":false,"fork":false,"pushed_at":"2025-02-07T05:25:19.000Z","size":1789,"stargazers_count":2,"open_issues_count":15,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T06:20:29.412Z","etag":null,"topics":["ansi","http","http-client","http-server","java","jdbc","logging","scx","socket","websocket"],"latest_commit_sha":null,"homepage":"https://scx.cool","language":"Java","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/scx567888.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-30T08:31:11.000Z","updated_at":"2025-02-07T05:25:32.000Z","dependencies_parsed_at":"2024-12-23T10:24:14.002Z","dependency_job_id":"d676c409-a89f-4d3e-aae7-acf63ee2c1a7","html_url":"https://github.com/scx567888/scx","commit_stats":{"total_commits":80,"total_committers":2,"mean_commits":40.0,"dds":0.25,"last_synced_commit":"e122cdd29e4e6ce04e51e84e2d809a3183e86b78"},"previous_names":["scx567888/scx"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scx567888%2Fscx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scx567888%2Fscx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scx567888%2Fscx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scx567888%2Fscx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scx567888","download_url":"https://codeload.github.com/scx567888/scx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237843912,"owners_count":19375228,"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":["ansi","http","http-client","http-server","java","jdbc","logging","scx","socket","websocket"],"created_at":"2024-08-04T01:01:11.583Z","updated_at":"2025-10-23T15:30:50.573Z","avatar_url":"https://github.com/scx567888.png","language":"Java","funding_links":[],"categories":["Web Frameworks"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://scx.cool/scx-logo/scx-logo.svg\" width=\"300px\"  alt=\"scx-logo\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/scx567888/scx/actions/workflows/ci.yml\"\u003e\n        \u003cimg src=\"https://github.com/scx567888/scx/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://central.sonatype.com/artifact/cool.scx/scx\"\u003e\n        \u003cimg src=\"https://img.shields.io/maven-central/v/cool.scx/scx?color=ff69b4\" alt=\"maven-central\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/scx567888/scx\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/languages/code-size/scx567888/scx?color=orange\" alt=\"code-size\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/scx567888/scx/issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/issues/scx567888/scx\" alt=\"issues\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/scx567888/scx/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/scx567888/scx\" alt=\"license\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/FasterXML/jackson\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Jackson-f44336\" alt=\"Jackson\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/brettwooldridge/HikariCP\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/HikariCP-ff8000\" alt=\"HikariCP\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/apache/freemarker\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/FreeMarker-44be16\" alt=\"FreeMarker\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/coobird/thumbnailator\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Thumbnailator-29aaf5\" alt=\"Thumbnailator\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/jasypt/jasypt\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Jasypt-9c27b0\" alt=\"Jasypt\"/\u003e\n    \u003c/a\u003e\n    \u003cbr/\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/jmrozanec/cron-utils\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Cron utils-f44336\" alt=\"Cron utils\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/mysql/mysql-connector-j\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/MySQL Connector/J-ff8000\" alt=\"MySQL Connector/J\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/qos-ch/slf4j\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/SLF4J-44be16\" alt=\"SLF4J\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/apache/logging-log4j2\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Apache Log4j 2-29aaf5\" alt=\"Apache Log4j 2\"/\u003e\n    \u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/cbeust/testng\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TestNG-9c27b0\" alt=\"TestNG\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nEnglish | [简体中文](./README.zh-CN.md)\n\n\u003e A simple Web development framework\n\n## Maven\n\n``` xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecool.scx\u003c/groupId\u003e\n    \u003cartifactId\u003escx-app\u003c/artifactId\u003e\n    \u003cversion\u003e{version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Quick start\n\n#### 1. Write your own module and run the main method .\n\n``` java\nimport cool.scx.app.ScxApp;\nimport cool.scx.app.ScxAppModule;\nimport cool.scx.http.method.HttpMethod;\nimport cool.scx.web.annotation.ScxRoute;\n\n// Note : Custom modules need extends ScxModule\n// This @ScxRoute indicate this class needs to be scanned by WebHandler\n@ScxRoute\npublic class YourModule extends ScxAppModule {\n\n    public static void main(String[] args) {\n        // Use Scx Builder, build and run project\n        ScxApp.builder()\n                .setMainClass(YourModule.class) // 1, The class of the Main method\n                .addModule(new YourModule())    // 2, Your own modules\n                .setArgs(args)                  // 3, External parameters\n                .run();                         // 4, Build and run project\n    }\n\n    // This @ScxRoute indicate this method is a WebHandler \n    // The path is \"\" and the request method is GET\n    @ScxRoute(value = \"\", methods = HttpMethod.GET)\n    public String helloWorld() {\n        // The content that will be sent to the client \n        return \"Hello World\";\n    }\n\n}\n```\n\n#### 2. Use your browser to access http://localhost:8080/ , you should see this .\n\n```html\nHello World\n```\n\nFor more information, see [docs](https://scx.cool/scx/)\n\n## Stats\n\n![Alt](https://repobeats.axiom.co/api/embed/7c4eddb6eff53274d58005e1fbe519b0807cbce3.svg \"Repobeats analytics image\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscx567888%2Fscx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscx567888%2Fscx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscx567888%2Fscx/lists"}