{"id":16009057,"url":"https://github.com/fwcd/lighthouse-uni-project","last_synced_at":"2026-03-03T09:08:40.856Z","repository":{"id":98825516,"uuid":"169421311","full_name":"fwcd/lighthouse-uni-project","owner":"fwcd","description":"Arcade games for a light installation at the University of Kiel","archived":false,"fork":false,"pushed_at":"2022-07-24T21:31:37.000Z","size":1476,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-13T22:46:17.386Z","etag":null,"topics":["cau-kiel","project-lighthouse"],"latest_commit_sha":null,"homepage":"","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/fwcd.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":"2019-02-06T14:46:02.000Z","updated_at":"2024-03-24T17:29:50.000Z","dependencies_parsed_at":"2023-05-25T15:00:25.457Z","dependency_job_id":null,"html_url":"https://github.com/fwcd/lighthouse-uni-project","commit_stats":null,"previous_names":["fwcd/lighthouse-uni-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fwcd/lighthouse-uni-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwcd%2Flighthouse-uni-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwcd%2Flighthouse-uni-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwcd%2Flighthouse-uni-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwcd%2Flighthouse-uni-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fwcd","download_url":"https://codeload.github.com/fwcd/lighthouse-uni-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwcd%2Flighthouse-uni-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269985822,"owners_count":24508127,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cau-kiel","project-lighthouse"],"created_at":"2024-10-08T13:01:05.762Z","updated_at":"2026-03-03T09:08:35.823Z","avatar_url":"https://github.com/fwcd.png","language":"Java","readme":"# Project Lighthouse\r\nA collection of 2D games for a light installation at the University of Kiel, currently including:\r\n\r\n* Snake\r\n* Breakout\r\n* Space Invaders\r\n* A brick puzzle game (featured below)\r\n\r\n![Photo](photo.png) ![Screenshot](screenshot.png)\r\n\r\n## Project Structure\r\n\r\n### Core application framework\r\n\r\n| Module | MVC Components | Contents |\r\n| ------ | -------------- | -------- |\r\n| app | View, ViewController, (Model) | The main Lighthouse application. |\r\n| shared | ViewModel, (ViewController, Model) | The graphics and animation API. |\r\n\r\n### Game modules\r\n\r\n| Module | MVC Components | Contents |\r\n| ------ | -------------- | -------- |\r\n| puzzle | Model, ViewModel, ViewController, Controller | The original puzzle game. |\r\n| snake | Model, ViewModel, Controller | The classic snake game. |\r\n| breakout | Model, ViewModel, Controller | The game \"Breakout\". |\r\n| spaceinvaders | Model, ViewModel, Controller | The game \"Space Invaders\". |\r\n\r\nNew game modules are currently registered in [`AppViewController`](app/src/main/java/lighthouse/ui/AppViewController.java).\r\n\r\n## Lighthouse API\r\nTo use the Lighthouse API, create a new file named `authentication.txt` inside `src/main/resources` with the following contents:\r\n\r\n```properties\r\nusername=YOUR_USERNAME\r\ntoken=YOUR_API_TOKEN\r\n```\r\n\r\n\u003e Login at https://lighthouse.uni-kiel.de/login to generate a new API token and to see the transmitted Lighthouse grid.\r\n\r\n## Discord API\r\nTo connect to the Discord API, create a new file named `discordToken.txt` inside `src/main/resources` with the following contents:\r\n\r\n```properties\r\ntoken=YOUR_AUTHENTICATION_TOKEN\r\nclientID=OPTIONAL_CLIENT_ID\r\n```\r\n\r\n## UI Architecture\r\nThe application implements a variant of the well-known MVC pattern. The responsibilities are as follows:\r\n\r\n### Inputs\r\n* accepts raw input events and sends them to a responder\r\n\r\n### Responders\r\n* handle user input\r\n\r\n\u003e Responders usually process a \"higher-level\" representation of user input (which is closer to the actual domain) rather than raw mouse events.\r\n\r\n### View Controllers\r\nLoosely speaking, view controllers coordinate communication between UI components. They...\r\n\r\n* assemble the subview hierarchy (by adding childs etc.)\r\n* setup inputs, views and controllers\r\n* observe the model and invoke the view\r\n\r\n\u003e Note that views and/or controllers may be polymorphic (i.e. they implement an interface such as `GridView`).\r\n\r\n### Views\r\n* present the model\r\n\r\n### Controllers\r\n* implement a responder for associated views (they accept user input)\r\n\r\n### Models\r\n* contain data and domain logic\r\n\r\n\u003e Models are completely independent from the UI code.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffwcd%2Flighthouse-uni-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffwcd%2Flighthouse-uni-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffwcd%2Flighthouse-uni-project/lists"}