{"id":23477392,"url":"https://github.com/rwth-acis/las2peer","last_synced_at":"2025-08-20T17:21:00.186Z","repository":{"id":8695494,"uuid":"10359213","full_name":"rwth-acis/las2peer","owner":"rwth-acis","description":"A Java-based decentralized framework for distributing community services in a peer-to-peer infrastructure.","archived":false,"fork":false,"pushed_at":"2024-05-17T12:20:05.000Z","size":52670,"stargazers_count":52,"open_issues_count":31,"forks_count":13,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-28T08:41:22.865Z","etag":null,"topics":["encryption","java","las2peer","microservices","microservices-architecture","p2p","restful-api"],"latest_commit_sha":null,"homepage":"https://las2peer.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rwth-acis.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":"2013-05-29T12:35:11.000Z","updated_at":"2024-08-21T06:40:20.000Z","dependencies_parsed_at":"2024-12-24T18:40:25.827Z","dependency_job_id":null,"html_url":"https://github.com/rwth-acis/las2peer","commit_stats":null,"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rwth-acis","download_url":"https://codeload.github.com/rwth-acis/las2peer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952698,"owners_count":21188487,"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":["encryption","java","las2peer","microservices","microservices-architecture","p2p","restful-api"],"created_at":"2024-12-24T18:26:55.173Z","updated_at":"2025-04-14T20:22:28.488Z","avatar_url":"https://github.com/rwth-acis.png","language":"Java","funding_links":[],"categories":["开发框架"],"sub_categories":[],"readme":"![las2peer](img/logo/bitmap/las2peer-logo-128x128.png)\n\n# [![Java CI with Gradle](https://github.com/rwth-acis/las2peer/workflows/Java%20CI%20with%20Gradle/badge.svg?branch=master)](https://github.com/rwth-acis/las2peer/actions?query=workflow%3A%22Java+CI+with+Gradle%22+branch%3Amaster) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/rwth-acis/las2peer) [![Javadoc](https://img.shields.io/github/deployments/rwth-acis/las2peer/github-pages?label=Javadoc)](https://rwth-acis.github.io/las2peer)\n\nlas2peer is a Java-based server framework for developing and deploying microservices in a distributed Peer-to-Peer (P2P) environment.\nIt is developed by the Advanced Community Information Systems (ACIS) group at the Chair of Computer Science 5 (Information Systems \u0026 Databases), RWTH Aachen University, Germany.\nIt's main focus lies on providing developers with a tool to easily develop and test their microservices and deploy them in a P2P network without having to rely on a centralized infrastructure.\nCommunication between nodes is realized using the [FreePastry](http://www.freepastry.org/ \"FreePastry\") library.\n\nFor more information on the core concepts of las2peer, please visit [las2peer.org](https://las2peer.org \"las2peer.org\") or read the [las2peer Primer](https://dx.doi.org/10.13140/RG.2.2.31456.48645 \"las2peer Primer\").\n\n## Service Development\n\nThis project contains las2peer itself.\nTo develop a service for las2peer, please use the [las2peer Template Project](https://github.com/rwth-acis/las2peer-template-project/) and follow the instructions of the project's ReadMe.\n\nIf you want to learn more about las2peer, please visit the [las2peer Template Project's Wiki Page](https://github.com/rwth-acis/las2peer-template-project/wiki).\n\n## Preparations\n\n### Java\n\nlas2peer uses **Java 17**.\n\n### Build Dependencies\n\n* Gradle 7.2\n* Node 14 / npm\n\n## Project Structure\n\n### Modules\n\nThis repository contains three las2peer modules:\n\n* Core (`/core`)\n* REST Mapper (`/restmapper`)\n* Web Connector (`/webconnector`)\n\nEach of them resides in its own subfolder, containing a build file providing the following tasks:\n\n* `gradle jar` will build the respective jar of the submodule. The jars will be stored in `/export/jars`.\n* `gradle test` will run the respective JUnit tests. Test reports will be stored in `/build/reports`.\n* `gradle javadoc` will create the JavaDocs for the respective submodule. The results will be stored in `/export/javadoc`.\n* `gradle build` runs all the tasks from above.\n* `gradle publish\u003csubmodule\u003ePublicationToMavenLocal` publishes the respective submodule to the local maven repository. If you have set up a project to resolve dependencies from the local repository, you can conveniently test your local changes without pushing and publishing them.\n\n### Bundle\n\nlas2peer has a modular structure and many dependencies.\nHowever, most installations use all modules together, this is why we provide a bundle of all submodules and their dependencies in one single jar.\nThe build script for the bundle can be found in `/bundle`.\n\nThe build script provides the following tasks:\n\n* `gradle shadowJar` will build the fat jar. The jar will be stored in `/export/jars`.\n* `gradle publishBundlePublicationToMavenLocal` publishes the bundle to the local maven repository.\n\n### Super Build Script\n\nTo make life easier for developers, this repository contains a build script for conveniently building multiple submodules.\n\n* `gradle buildOnly` will run `publish\u003csubmodule\u003ePublicationToMavenLocal` on each submodule\n* `gradle buildOnlyNoBundle` will run `publish\u003csubmodule\u003ePublicationToMavenLocal` on each submodule except for the bundle\n\n## Documentation\n\nJavaDocs of the latest release can be found online:\n\n* [Core](http://rwth-acis.github.io/las2peer/latest/core/ \"Core\")\n* [Web Connector](http://rwth-acis.github.io/las2peer/latest/webconnector/ \"Web Connector\")\n* [Rest Mapper](http://rwth-acis.github.io/las2peer/latest/restmapper/ \"Rest Mapper\")\n\n## CI\n\nEvery commit to the develop branch is built by GitHub actions and will be published as a snapshot to our Archiva.\nReleases are drafted from the master branch.\n\n## Importing\nFrom Version 1.4.0 on, las2peer-bundle is available on Maven Central. To import las2peer into your project, add the following dependency to your build file:\n\n```groovy     \nimplementation \"io.github.rwth-acis.org.las2peer:las2peer-bundle:1.4.0\"\n```\nAs a repository, only Maven Central is required.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-acis%2Flas2peer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frwth-acis%2Flas2peer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-acis%2Flas2peer/lists"}