{"id":19471612,"url":"https://github.com/aaronpowell/supercharging-web-dev-toolbox","last_synced_at":"2025-11-19T02:03:39.339Z","repository":{"id":138594886,"uuid":"370545449","full_name":"aaronpowell/supercharging-web-dev-toolbox","owner":"aaronpowell","description":null,"archived":false,"fork":false,"pushed_at":"2021-05-26T22:45:20.000Z","size":533,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-25T14:52:42.630Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/aaronpowell.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}},"created_at":"2021-05-25T02:51:01.000Z","updated_at":"2023-09-08T18:22:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"9a7351d0-a001-4648-a566-78f9524cbcd9","html_url":"https://github.com/aaronpowell/supercharging-web-dev-toolbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aaronpowell/supercharging-web-dev-toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronpowell%2Fsupercharging-web-dev-toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronpowell%2Fsupercharging-web-dev-toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronpowell%2Fsupercharging-web-dev-toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronpowell%2Fsupercharging-web-dev-toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronpowell","download_url":"https://codeload.github.com/aaronpowell/supercharging-web-dev-toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronpowell%2Fsupercharging-web-dev-toolbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285170109,"owners_count":27126456,"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","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"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-11-10T19:02:42.640Z","updated_at":"2025-11-19T02:03:39.309Z","avatar_url":"https://github.com/aaronpowell.png","language":"TypeScript","readme":"# GraphQL + TypeScript workshop - Completed\n\nHere is the completed application for the workshop, including the integration with CosmosDB to store the application data.\n\n## Running The Application\n\n_Before running the first time, you'll need to configure the data store, see below._\n\nFrom a terminal run `npm start` from both the repository root and `api` folder to start the two servers, the web application will be on `http://localhost:3000` and the API on `http://localhost:7071`. Alternatively, you can use the VS Code launch of `Run full stack` to run both together with debuggers attached.\n\n## Configuring the data store\n\nBefore the first run you will need to either configure the GraphQL server to work with CosmosDB, or to use the in-memory store.\n\n### Using the in-memory store\n\nTo use the in-memory store, you need to open the [`api/graphql/data.ts`](api/graphql/data.ts) and comment out the `export` of the CosmosDB store implementation and instead use the `MockDataStore`:\n\n```typescript\n// export const dataStore = new CosmosDataStore(\n//   new CosmosClient(process.env.CosmosDB)\n// );\n\nexport const dataStore = new MockDataStore();\n```\n\n**Note**: With the in-memory store, all game data will be reset to defaults when the server is restarted.\n\n### Using the CosmosDB store\n\nTo use the [CosmosDB](https://docs.microsoft.com/azure/cosmos-db/serverless?WT.mc_id=javascript-13112-aapowell) store, you'll need to [create a CosmosDB resource using the SQL API](https://docs.microsoft.com/azure/cosmos-db/create-cosmosdb-resources-portal?WT.mc_id=javascript-13112-aapowell) and [add some data](https://docs.microsoft.com/azure/cosmos-db/create-cosmosdb-resources-portal?WT.mc_id=javascript-13112-aapowell#add-data-to-your-database) (easiest approach is to upload [`api/trivia.json`](api/trivia.json)), then add the `Primary Connection String` (found in the Portal -\u003e Keys for the resource) to [`api/local.settings.json`](api/local.settings.json) as the value of the `CosmosDB` field.\n\n**Note**: If you don't have an Azure account, you can sign up [for free](https://azure.microsoft.com/free/?WT.mc_id=javascript-13112-aapowell).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronpowell%2Fsupercharging-web-dev-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronpowell%2Fsupercharging-web-dev-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronpowell%2Fsupercharging-web-dev-toolbox/lists"}