{"id":13565316,"url":"https://github.com/crate/crate-sample-apps","last_synced_at":"2025-04-03T22:31:09.522Z","repository":{"id":2989794,"uuid":"48100859","full_name":"crate/crate-sample-apps","owner":"crate","description":"A JavaScript guestbook app with a number of different backend implementations, each using a different client library to communicate with CrateDB.","archived":false,"fork":false,"pushed_at":"2024-11-12T16:38:03.000Z","size":3527,"stargazers_count":66,"open_issues_count":12,"forks_count":36,"subscribers_count":44,"default_branch":"main","last_synced_at":"2024-11-12T17:34:14.790Z","etag":null,"topics":["cratedb","distributed-database","distributed-sql-database"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crate.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2015-12-16T09:34:03.000Z","updated_at":"2024-11-12T16:38:06.000Z","dependencies_parsed_at":"2024-04-08T12:30:24.734Z","dependency_job_id":"58b59e60-8e74-48d4-a401-23975fbe200e","html_url":"https://github.com/crate/crate-sample-apps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fcrate-sample-apps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fcrate-sample-apps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fcrate-sample-apps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crate%2Fcrate-sample-apps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crate","download_url":"https://codeload.github.com/crate/crate-sample-apps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247090034,"owners_count":20881904,"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":["cratedb","distributed-database","distributed-sql-database"],"created_at":"2024-08-01T13:01:44.459Z","updated_at":"2025-04-03T22:31:04.506Z","avatar_url":"https://github.com/crate.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":".. highlight:: sh\n\n===================================\nCrateDB guestbook demo applications\n===================================\n\nAbout\n=====\n\nA gallery of applications, each implementing the same HTTP API for a guestbook\nbackend, using SQL and CrateDB. Each implementation uses a different `client\nlibrary`_ to communicate with CrateDB_.\n\nAccompanied with the applications, there is a dedicated test suite to verify\nthe corresponding implementation automatically, and a guestbook frontend\napplication for interactively communicating with the backend service.\n\nPrerequisites\n=============\n\n- You need install and run CrateDB before proceeding with the software found\n  within this repository.\n- You will also need to install crash_, the CrateDB CLI tool, to work with CrateDB\n  on the command line.\n- See the CrateDB `Getting Started`_ guide for help.\n\nSetup\n=====\n\nOnce a CrateDB instance is running, create the required schema and import the\ncountry data::\n\n    crash \u003c sql/schemas.sql\n    crash -c \"COPY guestbook.countries FROM '$(pwd)/sql/countries.json' RETURN SUMMARY;\"\n\nPlease note that the ``countries.json`` file needs to be accessible by CrateDB.\n\nIf your instance of CrateDB does not have access to your filesystem, or you are\nnot working with the repository, you can use an alternative set of commands to\naccess the ``schemas.sql`` and ``countries.json`` files directly from GitHub::\n\n    curl -s https://raw.githubusercontent.com/crate/crate-sample-apps/main/sql/schemas.sql | crash\n    crash -c \"COPY guestbook.countries FROM 'https://raw.githubusercontent.com/crate/crate-sample-apps/main/sql/countries.json' RETURN SUMMARY;\"\n\nSee the `developer docs`_ about how to run and provision CrateDB using Docker.\n\n\nComponents\n==========\n\nFrontend\n--------\n\nThe frontend_ is shared by all apps and is written in JavaScript. This frontend\ncommunicates with the backend over a `REST API`_.\n\nBackends\n--------\n\nThe are several implementations of the backend REST API.\n\n- `Erlang (Cowboy)`_ (using Erlang_, craterl_)\n- `Go (Gin)`_ (using Go_, Gin_, pgx_, pgxscan_)\n- `Java (Spark)`_ (using Spark_, JDBC_, `CrateDB JDBC driver`_)\n- `Java (Spring)`_ (using  `Spring Boot`_, `Spring Data JDBC`_, `CrateDB JDBC driver`_)\n- `Node.js (Express)`_ (using  `Node.js`_, Express_, `node-crate`_)\n- `PHP (Slim)`_ (using PHP_, Slim_, PDO_, `crate-pdo`_)\n- `Python (Flask)`_ (using Python_, Flask_, DBAPI2_, `crate-python`_)\n\n\nContributing\n============\n\nThis project is community-maintained, any contributions are welcome.\nSee the `developer docs`_, `api specification`_, and the `contribution docs`_\ndocuments for more information.\n\nHelp\n====\n\nLooking for more help?\n\n- Check out our `support channels`_\n\n\n.. _api specification: SPEC.md\n.. _client library: https://crate.io/docs/clients/\n.. _contribution docs: CONTRIBUTING.rst\n.. _crash: https://github.com/crate/crash\n.. _crate-pdo: https://github.com/crate/crate-pdo\n.. _crate-python: https://github.com/crate/crate-python\n.. _Crate.io: https://crate.io/\n.. _CrateDB: https://github.com/crate/crate\n.. _CrateDB JDBC driver: https://crate.io/docs/clients/jdbc/\n.. _craterl: https://github.com/crate/craterl\n.. _DBAPI2: https://www.python.org/dev/peps/pep-0249/\n.. _developer docs: DEVELOP.rst\n.. _Erlang: https://www.erlang.org/\n.. _Erlang (Cowboy): erlang-cowboy\n.. _Express: https://expressjs.com/\n.. _Flask: https://flask.palletsprojects.com/\n.. _frontend: frontend\n.. _Getting Started: https://crate.io/docs/getting-started/\n.. _Gin: https://github.com/gin-gonic/gin\n.. _Go: https://go.dev/\n.. _Go (Gin): go-gin\n.. _HTTPie: https://httpie.io/\n.. _Java (Spark): java-spark\n.. _Java (Spring): java-spring\n.. _JDBC: https://docs.oracle.com/javase/tutorial/jdbc/\n.. _Node.js: https://nodejs.org/\n.. _Node.js (Express): nodejs-express\n.. _node-crate: https://www.npmjs.com/package/node-crate\n.. _PDO: https://www.php.net/manual/en/book.pdo.php\n.. _pgjdbc: https://github.com/pgjdbc/pgjdbc\n.. _PHP: https://www.php.net/\n.. _PHP (Slim): php-slim\n.. _pgx: https://github.com/jackc/pgx\n.. _pgxscan: https://github.com/georgysavva/scany\n.. _Python: https://www.python.org/\n.. _Python (Flask): python-flask\n.. _REST API: https://en.wikipedia.org/wiki/Representational_state_transfer\n.. _Slim: https://www.slimframework.com/\n.. _Spark: https://sparkjava.com/\n.. _Spring Boot: https://spring.io/projects/spring-boot\n.. _Spring Data JDBC: https://spring.io/projects/spring-data-jdbc\n.. _support channels: https://crate.io/support/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrate%2Fcrate-sample-apps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrate%2Fcrate-sample-apps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrate%2Fcrate-sample-apps/lists"}