{"id":23250532,"url":"https://github.com/maettuu/21fs-software-engineering-lab-server","last_synced_at":"2026-05-10T06:32:37.977Z","repository":{"id":267966772,"uuid":"902907089","full_name":"maettuu/21FS-Software-Engineering-Lab-SERVER","owner":"maettuu","description":"SERVER Repository for the course Software Engineerng Lab Spring 2021 ","archived":false,"fork":false,"pushed_at":"2025-01-08T20:12:56.000Z","size":161,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T02:14:44.348Z","etag":null,"topics":["backend","game-development","gradle","java","jsonwebtokens","junit","mock","rest-api","software-testing","sonarqube","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maettuu.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-12-13T14:12:02.000Z","updated_at":"2025-01-08T20:12:59.000Z","dependencies_parsed_at":"2024-12-13T16:09:29.166Z","dependency_job_id":"9a4d5bf1-b91b-4cf9-a2b9-f51617ca796a","html_url":"https://github.com/maettuu/21FS-Software-Engineering-Lab-SERVER","commit_stats":null,"previous_names":["maettuu/21fs-software-engineering-lab-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maettuu%2F21FS-Software-Engineering-Lab-SERVER","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maettuu%2F21FS-Software-Engineering-Lab-SERVER/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maettuu%2F21FS-Software-Engineering-Lab-SERVER/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maettuu%2F21FS-Software-Engineering-Lab-SERVER/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maettuu","download_url":"https://codeload.github.com/maettuu/21FS-Software-Engineering-Lab-SERVER/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423521,"owners_count":20936626,"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":["backend","game-development","gradle","java","jsonwebtokens","junit","mock","rest-api","software-testing","sonarqube","spring-boot"],"created_at":"2024-12-19T09:12:35.704Z","updated_at":"2026-05-10T06:32:37.948Z","avatar_url":"https://github.com/maettuu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 21FS Software Engineering Lab SERVER (SoPra)\nThis repository includes the backend part of the semester project of the course SoPra ([source repository](https://github.com/sopra-fs21-group-22/server/tree/68b6c0e700eb64f837b6b61b28a7c22d47e19e40)). The code is written in `Java 15`. This is only the *SERVER*, to view the *CLIENT* switch to [this repository](https://github.com/maettuu/21FS-Software-Engineering-Lab-CLIENT).\n\nMain packages: `springframework`, `jsonwebtoken`, `JUnit`, `mockito`, `slf4j.Logger`, `javax.persistence`, `util`, `sql`\n\n## Introduction BANG!\n\nThe aim of this project is to implement the server-side of a digital version of the popular card game **BANG!**, to be playable in a browser.\n\n## Technologies\n\n- Java\n- GitHub (Actions)\n- Heroku\n- REST API\n\n## High-level components\n\n[Player Table Entity](src/main/java/ch/uzh/ifi/hase/soprafs21/entity/PlayerTable.java)\n- Most information during a game is in this class or referenced in this class\n\n[Player Table Service](src/main/java/ch/uzh/ifi/hase/soprafs21/service/PlayerTableService.java)\n- A large portion of actions during a game are performed by this class' methods\n\n[Controllers](src/main/java/ch/uzh/ifi/hase/soprafs21/controller/gameStateControllers)\n- These files receive incoming communication from the client-side and are therefore paramount to the project.\n\n## Launch and Deployment\n\nDownload your IDE of choice: (e.g., [Eclipse](http://www.eclipse.org/downloads/), [IntelliJ](https://www.jetbrains.com/idea/download/)), [Visual Studio Code](https://code.visualstudio.com/) and make sure Java 15 is installed on your system (for Windows-users, please make sure your JAVA_HOME environment variable is set to the correct version of Java).\n\n1. File -\u003e Open... -\u003e SoPra Server Template\n2. Accept to import the project as a `gradle project`\n\nTo build right click the `build.gradle` file and choose `Run Build`\n\n### VS Code\nThe following extensions will help you to run it more easily:\n-   `pivotal.vscode-spring-boot`\n-   `vscjava.vscode-spring-initializr`\n-   `vscjava.vscode-spring-boot-dashboard`\n-   `vscjava.vscode-java-pack`\n-   `richardwillis.vscode-gradle`\n\n**Note:** You'll need to build the project first with Gradle, just click on the `build` command in the _Gradle Tasks_ extension. Then check the _Spring Boot Dashboard_ extension if it already shows `soprafs21` and hit the play button to start the server. If it doesn't show up, restart VS Code and check again.\n\n### Building with Gradle\n\nYou can use the local Gradle Wrapper to build the application.\n\nPlattform-Prefix:\n\n-   MAC OS X: `./gradlew`\n-   Linux: `./gradlew`\n-   Windows: `./gradlew.bat`\n\nMore Information about [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html) and [Gradle](https://gradle.org/docs/).\n\n### Build\n\n```bash\n./gradlew build\n```\n\n### Run\n\n```bash\n./gradlew bootRun\n```\n\n### Test\n\n```bash\n./gradlew test\n```\n\n## Roadmap\n\n- Adding other users as friends\n- Creating private lobbies\n- Implement Expansions from the physical game\n\n## Authors and acknowledgment\n\n\u003eE. Heggli, M. Mylaeus, R. Bommeli, R. Bättig, Y. Meister\n\n## License\n\nLicensed under GNU General Public License v3.0\n- See [License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaettuu%2F21fs-software-engineering-lab-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaettuu%2F21fs-software-engineering-lab-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaettuu%2F21fs-software-engineering-lab-server/lists"}