{"id":17767914,"url":"https://github.com/marceloboeira/bvgame","last_synced_at":"2025-03-15T14:30:28.627Z","repository":{"id":71790171,"uuid":"169421131","full_name":"marceloboeira/BVGame","owner":"marceloboeira","description":"💛 an unofficial BVG Stations Game","archived":false,"fork":false,"pushed_at":"2022-01-22T16:26:43.000Z","size":536,"stargazers_count":20,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-27T02:42:28.398Z","etag":null,"topics":["bvg","elm","functional-programming","game","non-official","subway","train","ubahn"],"latest_commit_sha":null,"homepage":"https://marceloboeira.com/BVGame","language":"Elm","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/marceloboeira.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-02-06T14:45:00.000Z","updated_at":"2024-12-16T22:02:30.000Z","dependencies_parsed_at":"2023-02-24T19:15:26.324Z","dependency_job_id":null,"html_url":"https://github.com/marceloboeira/BVGame","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marceloboeira%2FBVGame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marceloboeira%2FBVGame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marceloboeira%2FBVGame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marceloboeira%2FBVGame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marceloboeira","download_url":"https://codeload.github.com/marceloboeira/BVGame/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243742494,"owners_count":20340658,"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":["bvg","elm","functional-programming","game","non-official","subway","train","ubahn"],"created_at":"2024-10-26T20:52:03.405Z","updated_at":"2025-03-15T14:30:27.897Z","avatar_url":"https://github.com/marceloboeira.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/marceloboeira/BVGame/blob/master/docs/bvg-logo.gif?raw=true\" width=\"200\"\u003e\n  \u003ch3 align=\"center\"\u003eBVGame\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e💛 An unofficial BVG Stations Game\u003cp\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://travis-ci.org/marceloboeira/BVGame\"\u003e\u003cimg src=\"https://img.shields.io/travis/marceloboeira/BVGame/master.svg?maxAge=360\"\u003e\u003c/a\u003e\n    \u003ca href=\"http://github.com/marceloboeira/BVGame/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/marceloboeira/BVGame.svg?maxAge=360\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://marceloboeira.com/BVGame\"\u003e\u003cimg src=\"https://img.shields.io/badge/access-BVGame-f0d722.svg?maxAge=360\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n# Motivation\n\nThe ideia is to learn more about functional programming \u0026 front-end applications with Elm.\n\n**Disclaimer** don't take the code here too seriously, it's probably crappy since it's my first attempt to build an SPA and also my first app with Elm. 😉\n\n## The Game\n\nThe game is about Subway Stations and Lines from the Berliner Verkehrsbetriebe [BVG](https://www.bvg.de/en). The players must guess at least one train Line that cross a given station.\n\n# Architecture\n\u003e How does it work?\n\n\u003ca href=\"https://marceloboeira.com/BVGame\"\u003e\n  \u003cimg src=\"https://github.com/marceloboeira/BVGame/blob/master/docs/diagram.png?raw=true\"\u003e\n\u003c/a\u003e\n\n## Web\n\u003e Static SPA served with GitHub Pages\n\nThe code of the application is written in Elm. During build, the Elm files are compiled to a single Javascript, `application.js` that is served statically, together with raw CSS and HTML files. Everything under `dist/` is served with Github Pages, built from the `master` branch of this repo to the `gh-pages` branch by Travis-CI.\n\nThe application also requires data coming from the `dist/data` folder, which is generated from the pipeline.\n\n## Data Pipeline\n\u003e Gathering data for the game\n\nIn order to gather information about the stations, a small pipeline was created, heavily inspired by [derhuerst](https://github.com/derhuerst) work on the [VBB libraries](https://github.com/derhuerst/vbb-modules).\n\nThe output of the pipeline is copied to `dist/data/` as JSON files, consumed by the web-application as data source.\n\nLast updated at: 22.01.2022\n\n# Contributing\n\u003e Help us to improve the codebase\n\nFound a bug? Have a suggestion? Please [open an issue](https://github.com/marceloboeira/BVGame/issues/new).\n\nWant to contribute with code?\n\n## Developers\n\n1. Star the project. ⭐️\n2. Open or find an issue [here](https://github.com/marceloboeira/BVGame/issues)\n3. Fork it (https://github.com/marceloboeira/BVGame/fork)\n4. Create your feature branch (git checkout -b feature/awesome-parrot)\n5. Commit your changes\n6. Push to the branch (git push origin feature/awesome-parrot)\n7. Create a new Pull Request\n\n## Build \u0026 Run\n\u003e Available commands\n\n* `make run` - Run the webserver at `http://localhost:1928`.\n* `make build` - Build the `application.js` file to the `dist/` folder.\n* `make setup` - One time setup of dependencies.\n* `make setup_pipeline` - Install dependencies for the pipeline. (It's triggered by the setup)\n* `make build_pipeline` - Run the pipeline and copy the files to the `dist/` folder.  (It's triggered by the setup)\n* `make test` - Run the tests.\n* `make test_watch` - Run the tests watching for changes.\n* `make check_format` - Check if the code is formated\n* `make format` - Format the code following elm standards.\n\n## Credits\n\n* Data Sources\n  * [derhuerst/vbb-stations](https://github.com/derhuerst/vbb-stations) - List of Stations\n  * [derhuerst/vbb-lines](https://github.com/derhuerst/vbb-lines) - List of Lines\n  * [Wikipedia](https://de.wikipedia.org/wiki/Liste_der_Berliner_U-Bahnhöfe)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarceloboeira%2Fbvgame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarceloboeira%2Fbvgame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarceloboeira%2Fbvgame/lists"}