{"id":15858880,"url":"https://github.com/bpmct/bookshop-monorepo","last_synced_at":"2026-02-08T02:06:37.063Z","repository":{"id":44786411,"uuid":"449983204","full_name":"bpmct/bookshop-monorepo","owner":"bpmct","description":"A sample monorepo with multiple services for running a bookshop's inventory","archived":false,"fork":false,"pushed_at":"2022-03-22T17:31:01.000Z","size":459,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-30T05:49:13.289Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Starlark","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/bpmct.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}},"created_at":"2022-01-20T06:36:35.000Z","updated_at":"2022-01-25T02:20:22.000Z","dependencies_parsed_at":"2022-09-07T17:11:47.714Z","dependency_job_id":null,"html_url":"https://github.com/bpmct/bookshop-monorepo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"thundergolfer/example-bazel-monorepo","purl":"pkg:github/bpmct/bookshop-monorepo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpmct%2Fbookshop-monorepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpmct%2Fbookshop-monorepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpmct%2Fbookshop-monorepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpmct%2Fbookshop-monorepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bpmct","download_url":"https://codeload.github.com/bpmct/bookshop-monorepo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpmct%2Fbookshop-monorepo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29217763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T00:10:47.190Z","status":"online","status_checked_at":"2026-02-08T02:00:07.642Z","response_time":57,"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":[],"created_at":"2024-10-05T21:01:26.279Z","updated_at":"2026-02-08T02:06:37.037Z","avatar_url":"https://github.com/bpmct.png","language":"Starlark","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bookshop-monorepo\n\nA sample monorepo with multiple services for running a bookshop inventory, including:\n- REST API (written in Spring) \n- Database (powered by Postgres)\n- CLI (written in Golang)\n- Frontend (written in Javascript/React)\n- Book sorting (written in Scala)\n- Fetch data from Goodreads (written in Python)\n\n![](./frontend/screenshot.png)\n\n\n## Set up development environment:\n\n### Coder\n\n[![Open in Coder](https://cdn.coder.com/embed-button.svg)](https://sandbox.coder.com/wac/build?template_oauth_service=github\u0026template_url=https://github.com/bpmct/bookshop-monorepo\u0026template_ref=main\u0026template_filepath=.coder/coder.yaml)\n\n```\n1) Navigate to your Coder deployment\n2) New Workspace \u003e From template\n\nRepository URL: https://github.com/bpmct/bookshop-monorepo\nBranch: main\nTemplate: .coder/coder.yaml\n```\n\n### Or (manual):\n\n#### Clone the repository on your local machine\n\n- Ensure you have SSH and GPG keys set up.\n\n```sh\nssh git@github.com:bpmct/bookshop-monorepo.git\n```\n\n#### Install a Postgres server\n\nRun [this init script](./infrastructure/aws//store-api/userdata.tpl). Ensure you have `bookstore` database and there is no password for the `postgres` user\n\n#### Install Bazel\n\nFollow the [Bazel docs](https://docs.bazel.build/versions/master/install.html) to install on your machine. You MUST have version `4.10.0`\n\n#### Python 3.10\n\n#### NodeJS and Yarn\n\nYou need NodeJS 16.x and yarn installed on your machine\n\n#### DevOps tools\n\n- Install `aws-cli`, `terraform`, `zstd` on your machine\n\n## Credits\n\nThis is a fork of [thundergolfer/example-bazel-monorepo](https://github.comthundergolfer/example-bazel-monorepo).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbpmct%2Fbookshop-monorepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbpmct%2Fbookshop-monorepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbpmct%2Fbookshop-monorepo/lists"}