{"id":20859276,"url":"https://github.com/totaro/citybike","last_synced_at":"2026-04-08T23:32:34.921Z","repository":{"id":206860469,"uuid":"717858081","full_name":"totaro/citybike","owner":"totaro","description":"Reading postgreSQL database and display data on HTML-page using javascript and Node.js","archived":false,"fork":false,"pushed_at":"2023-11-14T09:47:02.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-28T13:32:21.414Z","etag":null,"topics":["api","database","expressjs","fetch","html","javascript","nodejs","pg","postgresql"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/totaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-11-12T20:14:26.000Z","updated_at":"2023-11-14T09:12:38.000Z","dependencies_parsed_at":"2023-11-12T21:23:49.313Z","dependency_job_id":"2a2f955d-dccc-452a-807e-65416773bde5","html_url":"https://github.com/totaro/citybike","commit_stats":null,"previous_names":["totaro/citybike"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/totaro/citybike","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totaro%2Fcitybike","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totaro%2Fcitybike/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totaro%2Fcitybike/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totaro%2Fcitybike/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/totaro","download_url":"https://codeload.github.com/totaro/citybike/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totaro%2Fcitybike/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31579052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","database","expressjs","fetch","html","javascript","nodejs","pg","postgresql"],"created_at":"2024-11-18T04:49:18.030Z","updated_at":"2026-04-08T23:32:34.901Z","avatar_url":"https://github.com/totaro.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project: citybike\n\nhttps://github.com/solita/dev-academy-spring-2024-exercise\n\nLet's imagine that you have received an interesting project offer to create a UI and a backend service for displaying data from journeys made with city bikes in the Helsinki Capital area.\n\nThe exercise uses data that is owned by City Bike Finland. We provide database to you in a Docker container, but the original datasets can be downloaded from here:\u003cbr\u003e\n\nhttps://dev.hsl.fi/citybikes/od-trips-2021/2021-05.csv\u003cbr\u003e\nhttps://dev.hsl.fi/citybikes/od-trips-2021/2021-06.csv\u003cbr\u003e\nhttps://dev.hsl.fi/citybikes/od-trips-2021/2021-07.csv\u003cbr\u003e\u003cbr\u003e\nAlso, the database is created using dataset that has information about Helsinki Region Transport’s (HSL) city bicycle stations.\u003cbr\u003e\n\nDataset: https://opendata.arcgis.com/datasets/726277c507ef4914b0aec3cbcfcbfafc_0.csv\u003cbr\u003e\nLicense and information: https://www.avoindata.fi/data/en/dataset/hsl-n-kaupunkipyoraasemat/resource/a23eef3a-cc40-4608-8aa2-c730d17e8902\n\n\u003cbr\u003e\u003cb\u003eThe exercise\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\nCreate a web application that uses a backend service to fetch the data. Backend can be made with any technology. We at Solita use for example (not in preference order) Java/Kotlin/C#/TypeScript but you are free to choose any other technology as well.\nYou are provided with Docker setup, with contains a PostgreSQL database with all the necessary data for the exercise.\nYou can also freely choose the frontend technologies to use. The important part is to give good instructions on how to build and run the project.\u003cbr\u003e\n\n\n- local docker PostgreSQL \n- station and journey tables\n\n\u003cbr\u003e\u003cb\u003eFunctional requirements\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\n \u003cb\u003eStation list\u003c/b\u003e\u003cbr\u003e\n - List all stations\n - Link to single station views\n \u003cbr\u003e\u003cbr\u003e\u003cb\u003eSingle station views\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\n - Station name\n - Station address\n - Total number of journeys starting from the station\n - Total number of journeys ending at the station\n - Average distance of journeys starting from the station\n - Avarage duration of journeys starting from the station\u003cbr\u003e\n\n# Solution:\njavascript and html / express and pg node.js modules / webpack\u003cbr\u003e\n\n- Server-side Node.js script (server.js) that connects PostgreSQL database and makes API endpoint for fetching data.\n\n- Client-side script (client.js) that uses Fetch API to get data from server.\n\n- webpack.config.js file for configuring Webpack that is used to bundle client.js (command: npx webpack --config webpack.config.js)\n\n- HTML file (index.html) where fetched data is displayed on data-container div and includes the bundled script (bundle.js).\n\n- Running server (command: node server.js) and open in browser at http://localhost:3000\u003cbr\u003e\u003cbr\u003e\n\n![citybike1](https://github.com/totaro/citybike/assets/66010583/09861c12-ddd2-4b3b-9816-a056a19280f7)\n\n![citybike2](https://github.com/totaro/citybike/assets/66010583/fb42e01d-e682-4991-8a71-1a71cb080faa)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotaro%2Fcitybike","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftotaro%2Fcitybike","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotaro%2Fcitybike/lists"}