{"id":46211976,"url":"https://github.com/eclipse-store/bookstore-demo","last_synced_at":"2026-03-03T09:17:43.058Z","repository":{"id":211115251,"uuid":"728151568","full_name":"eclipse-store/bookstore-demo","owner":"eclipse-store","description":"EclipseStore BookStore Demo - Sample Application","archived":false,"fork":false,"pushed_at":"2025-09-30T14:42:15.000Z","size":567,"stargazers_count":23,"open_issues_count":4,"forks_count":12,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-30T16:29:38.872Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://eclipsestore.io/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-store.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-06T10:39:37.000Z","updated_at":"2025-09-30T14:40:20.000Z","dependencies_parsed_at":"2025-08-04T08:18:53.311Z","dependency_job_id":"f7eee7df-962f-4bcb-ad57-4b700b52a74e","html_url":"https://github.com/eclipse-store/bookstore-demo","commit_stats":null,"previous_names":["eclipse-store/bookstore-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eclipse-store/bookstore-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-store%2Fbookstore-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-store%2Fbookstore-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-store%2Fbookstore-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-store%2Fbookstore-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-store","download_url":"https://codeload.github.com/eclipse-store/bookstore-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-store%2Fbookstore-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30038885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T06:58:30.252Z","status":"ssl_error","status_checked_at":"2026-03-03T06:58:15.329Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2026-03-03T09:17:42.451Z","updated_at":"2026-03-03T09:17:43.050Z","avatar_url":"https://github.com/eclipse-store.png","language":"Java","readme":"# EclipseStore BookStore Demo\n\nDeploy this demo to Gitpod:\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/eclipse-store/bookstore-demo)\n\n## Running locally\n\nThis is a [Spring Boot](https://spring.io/guides/gs/spring-boot/) application built using \n[Maven](https://spring.io/guides/gs/maven/) and [pnpm](https://pnpm.js.org/). \nYou can build and run it from the command line:\n\n```\ngit clone https://github.com/eclipse-store/bookstore-demo.git\ncd bookstore-demo\nmvn spring-boot:run\n```\n\nThen open [http://localhost:8080/](http://localhost:8080/)\n\n![Screenshot](./src/main/resources/META-INF/resources/frontend/images/ui.jpg)\n\n## Description\n\nThe EclipseStore BookStore Demo is a fully-fledged sample application.\nIt shows how to design an application with EclipseStore from the ground up.\n\nA company that operates bookstores around the world is modeled.\nFrom the data root on, there are four main domains:\n\n- [Books](./src/main/java/org/eclipse/store/demo/bookstore/data/Books.java): range of all books sold by the company\n- [Shops](./src/main/java/org/eclipse/store/demo/bookstore/data/Shops.java): retail shops operated by the company\n- [Customers](./src/main/java/org/eclipse/store/demo/bookstore/data/Customers.java): registered customers of the company\n- [Purchases](./src/main/java/org/eclipse/store/demo/bookstore/data/Purchases.java): purchases made by all customers in all stores\n\nThe [data layer](./src/main/java/org/eclipse/store/demo/bookstore/data/) also contains validation and concurrency handling. \n\nWe used [Vaadin](https://vaadin.com) to create the [UI](./src/main/java/org/eclipse/store/demo/bookstore/ui/).\nThe start point is the main class [VaadinApplication](./src/main/java/org/eclipse/store/demo/bookstore/VaadinApplication.java).\n\n[GraphQL](./src/main/java/org/eclipse/store/demo/bookstore/graphql/) (mapped to /graphql) is used to get data access from outside. GraphiQL configured to: [http://localhost:8080/graphiql](http://localhost:8080/voyager) \n\n[Apache JEXL](./src/main/java/org/eclipse/store/demo/bookstore/scripting/) is used to execute arbitrary scripts on the object graph.\n\n## GigaMap\n\nThere is a version of this demo which uses the [GigaMap](https://docs.eclipsestore.io/manual/gigamap/index.html) instead of the default collections. It can be found in this [branch](https://github.com/eclipse-store/bookstore-demo/tree/gigamap).\n\n## If you find a bug or want to suggest an improvement\n\nPlease feel free to report issues here: \n[https://github.com/eclipse-store/bookstore-demo/issues](https://github.com/eclipse-store/bookstore-demo/issues)\n\n## License\n\nThe EclipseStore BookStore Demo is released under the [Eclipse Public License - v 2.0](LICENSE).\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-store%2Fbookstore-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-store%2Fbookstore-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-store%2Fbookstore-demo/lists"}