{"id":15043829,"url":"https://github.com/teamapps-org/teamapps","last_synced_at":"2025-04-10T00:43:05.136Z","repository":{"id":34872593,"uuid":"177207682","full_name":"teamapps-org/teamapps","owner":"teamapps-org","description":"TeamApps is a Java web application framework","archived":false,"fork":false,"pushed_at":"2025-04-04T16:42:27.000Z","size":19884,"stargazers_count":20,"open_issues_count":43,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T00:42:56.509Z","etag":null,"topics":["java","web-application-framework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teamapps-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.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}},"created_at":"2019-03-22T20:52:35.000Z","updated_at":"2025-04-04T15:08:39.000Z","dependencies_parsed_at":"2023-12-19T00:56:32.626Z","dependency_job_id":"799c8bd8-7401-4d02-94ab-46690f7eae12","html_url":"https://github.com/teamapps-org/teamapps","commit_stats":null,"previous_names":[],"tags_count":196,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamapps-org%2Fteamapps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamapps-org%2Fteamapps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamapps-org%2Fteamapps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamapps-org%2Fteamapps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teamapps-org","download_url":"https://codeload.github.com/teamapps-org/teamapps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137998,"owners_count":21053775,"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":["java","web-application-framework"],"created_at":"2024-09-24T20:49:39.245Z","updated_at":"2025-04-10T00:43:05.123Z","avatar_url":"https://github.com/teamapps-org.png","language":"Java","funding_links":[],"categories":["开发框架"],"sub_categories":[],"readme":"\n# TeamApps\n\nTeamApps is a Java web application framework\n\n\n## Getting started\n\n### Setting up the dependencies\n\nFor the TeamApps framework use - please replace `x`, `y` and `z` with the latest version numbers: [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.teamapps/teamapps/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.teamapps/teamapps)\n\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.teamapps\u003c/groupId\u003e\n    \u003cartifactId\u003eteamapps-ux\u003c/artifactId\u003e\n    \u003cversion\u003ex.z.y\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nTo start a ready to run server with TeamApps included use:\n\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.teamapps\u003c/groupId\u003e\n    \u003cartifactId\u003eteamapps-server-jetty-embedded\u003c/artifactId\u003e\n    \u003cversion\u003ex.z.y\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Quick start\n\n### Hello World\n         \nThis will start a server on port 8080, so you should see the result under http://localhost:8080 \n\n```java\nimport org.teamapps.icon.material.MaterialIcon;\nimport org.teamapps.server.jetty.embedded.TeamAppsJettyEmbeddedServer;\nimport org.teamapps.ux.component.field.Button;\nimport org.teamapps.ux.component.rootpanel.RootPanel;\n\npublic class HelloWorld {\n\n    public static void main(String[] args) throws Exception {\n        new TeamAppsJettyEmbeddedServer(sessionContext -\u003e {\n            RootPanel rootPanel = sessionContext.addRootPanel();\n            Button\u003c?\u003e button = Button.create(MaterialIcon.INFO, \"Click me!\");\n            button.onClicked.addListener(() -\u003e {\n                sessionContext.showNotification(MaterialIcon.CHAT, \"Hello World!\", \"Congrats for your first TeamApps program!\");\n            });\n            rootPanel.setContent(button);\n        }, 8080).start();\n    }\n\n}\n```\n\n### Application Layout\n\nIn this example we create a responsive application with a single perspective, a few empty panels and a toolbar.\nAdd the `teamapps-server-jetty-embedded` dependency to run this example.\n\n```java\nimport org.teamapps.icon.material.MaterialIcon;\nimport org.teamapps.server.jetty.embedded.TeamAppsJettyEmbeddedServer;\nimport org.teamapps.ux.application.ResponsiveApplication;\nimport org.teamapps.ux.application.layout.StandardLayout;\nimport org.teamapps.ux.application.perspective.Perspective;\nimport org.teamapps.ux.application.view.View;\nimport org.teamapps.ux.component.rootpanel.RootPanel;\nimport org.teamapps.ux.component.toolbar.ToolbarButton;\nimport org.teamapps.ux.component.toolbar.ToolbarButtonGroup;\nimport org.teamapps.ux.session.CurrentSessionContext;\nimport org.teamapps.webcontroller.WebController;\n\npublic class TeamAppsDemo {\n\n    public static void main(String[] args) throws Exception {\n        WebController controller = sessionContext -\u003e {\n            RootPanel rootPanel = new RootPanel();\n            sessionContext.addRootPanel(null, rootPanel);\n\n            //create a responsive application that will run on desktops as well as on smart phones\n            ResponsiveApplication application = ResponsiveApplication.createApplication();\n\n            //create perspective with default layout\n            Perspective perspective = Perspective.createPerspective();\n            application.addPerspective(perspective);\n\n            //create an empty left panel\n            perspective.addView(View.createView(StandardLayout.LEFT, MaterialIcon.MESSAGE, \"Left panel\", null));\n\n            //create a tabbed center panel\n            perspective.addView(View.createView(StandardLayout.CENTER, MaterialIcon.SEARCH, \"Center panel\", null));\n            perspective.addView(View.createView(StandardLayout.CENTER, MaterialIcon.PEOPLE, \"Center panel 2\", null));\n\n            //create a right panel\n            perspective.addView(View.createView(StandardLayout.RIGHT, MaterialIcon.FOLDER, \"Left panel\", null));\n\n            //create a right bottom panel\n            perspective.addView(View.createView(StandardLayout.RIGHT_BOTTOM, MaterialIcon.VIEW_CAROUSEL, \"Left bottom panel\", null));\n\n            //create toolbar buttons\n            ToolbarButtonGroup buttonGroup = new ToolbarButtonGroup();\n            buttonGroup.addButton(ToolbarButton.create(MaterialIcon.SAVE, \"Save\", \"Save changes\")).onClick.addListener(toolbarButtonClickEvent -\u003e {\n                sessionContext.showNotification(MaterialIcon.MESSAGE, \"Save was clicked!\");\n            });\n            buttonGroup.addButton(ToolbarButton.create(MaterialIcon.DELETE, \"Delete\", \"Delete some items\"));\n\n            //display these buttons only when this perspective is visible\n            perspective.addWorkspaceButtonGroup(buttonGroup);\n\n            application.showPerspective(perspective);\n            rootPanel.setContent(application.getUi());\n\n            // set Background Image\n            String defaultBackground = \"/resources/backgrounds/default-bl.jpg\";\n            sessionContext.registerBackgroundImage(\"default\", defaultBackground, defaultBackground);\n            sessionContext.setBackgroundImage(\"default\", 0);\n        };\n\n        new TeamAppsJettyEmbeddedServer(controller, 8080).start();\n    }\n}\n```\nThe result should look something like this:\n![ScreenShot](https://raw.githubusercontent.com/teamapps-org/teamapps-screenshots/master/screenshots/teamapps-example1.png)\n\n## License\n\nThe TeamApps Framework is released under version 2.0 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0).\n\n## Supported By\n\n\u003ca href=\"https://www.ej-technologies.com/products/jprofiler/overview.html\"\u003eJProfiler\u003c/a\u003e\n\n\u003ca href=\"https://www.ej-technologies.com/products/jprofiler/overview.html\"\u003e\u003cimg src=\"https://www.ej-technologies.com/images/product_banners/jprofiler_large.png\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://www.yourkit.com/java/profiler/\"\u003eYourKit\u003c/a\u003e\n  \n\u003ca href=\"https://www.yourkit.com/java/profiler/\"\u003e\u003cimg src=\"https://www.yourkit.com/images/yklogo.png\"\u003e\u003c/a\u003e \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamapps-org%2Fteamapps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteamapps-org%2Fteamapps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamapps-org%2Fteamapps/lists"}