{"id":23396421,"url":"https://github.com/mneedham/strava-app","last_synced_at":"2025-04-08T17:32:36.968Z","repository":{"id":39400482,"uuid":"205169905","full_name":"mneedham/strava-app","owner":"mneedham","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-04T13:32:58.000Z","size":5593,"stargazers_count":2,"open_issues_count":40,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-14T13:50:20.260Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/mneedham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-29T13:26:12.000Z","updated_at":"2019-09-02T10:13:25.000Z","dependencies_parsed_at":"2023-02-02T14:16:39.920Z","dependency_job_id":null,"html_url":"https://github.com/mneedham/strava-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"grand-stack/grand-stack-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fstrava-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fstrava-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fstrava-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fstrava-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mneedham","download_url":"https://codeload.github.com/mneedham/strava-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247892354,"owners_count":21013689,"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":[],"created_at":"2024-12-22T07:35:36.998Z","updated_at":"2025-04-08T17:32:36.898Z","avatar_url":"https://github.com/mneedham.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Deploy to now](https://deploy.now.sh/static/button.svg)](https://deploy.now.sh/?repo=https://github.com/grand-stack/grand-stack-starter\u0026env=NEO4J_USER\u0026env=NEO4J_URI\u0026env=NEO4J_PASSWORD)\n\n# GRANDstack Starter\n\nThis project is a starter for building a [GRANDstack](https://grandstack.io) (GraphQL, React, Apollo, Neo4j Database) application. There are two components to the starter, the UI application (a React app) and the API app (GraphQL server).\n\n[![Hands On With The GRANDstack Starter](http://img.youtube.com/vi/rPC71lUhK_I/0.jpg)](http://www.youtube.com/watch?v=rPC71lUhK_I \"Hands On With The GRANDstack Starter\")\n\n## Quickstart\n\n### Neo4j\n\nYou need a Neo4j instance, e.g. a [Neo4j Sandbox](http://neo4j.com/sandbox), a local instance via [Neo4j Desktop](https://neo4j.com/download), [Docker](http://hub.docker.com/_/neo4j) or a [Neo4j instance on AWS, Azure or GCP](http://neo4j.com/developer/guide-cloud-deployment) or [Neo4j Cloud](http://neo4j.com/cloud)\n\nFor schemas using the  `@cypher` directive (as in this repo) via [`neo4j-graphql-js`](https://github.com/neo4j-graphql/neo4j-graphql-js), you need to have the [APOC library](https://github.com/neo4j-contrib/neo4j-apoc-procedures) installed, which should be automatic in Sandbox, Cloud and is a single click install in Neo4j Desktop. If when using the Sandbox / cloud you encounter an issue where an error similar to `Can not be converted to long: org.neo4j.kernel.impl.core.NodeProxy, Location: [object Object], Path: users` appears in the console when running the React app, try installing and using Neo4j locally instead.\n\n#### Sandbox setup\nA good tutorial can be found here: https://www.youtube.com/watch?v=rPC71lUhK_I\n\n#### Local setup\n1. [Download Neo4j Desktop](https://neo4j.com/download/)\n2. Install and open Neo4j Desktop.\n3. Create a new DB by clicking \"New Graph\", and clicking \"create local graph\".\n4. Set password to \"letmein\" (as suggested by `api/.env`), and click \"Create\".\n5. Make sure that the default credentials in `api/.env` are used. Leave them as follows: `NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=letmein`\n6.  Click \"Manage\".\n7. Click \"Plugins\".\n8. Find \"APOC\" and click \"Install\".\n9. Click the \"play\" button at the top of left the screen, which should start the server. _(screenshot 2)_\n10. Wait until it says \"RUNNING\".\n11. Proceed forward with the rest of the tutorial.\n\n### [`/api`](./api)\n\n*Install dependencies*\n\n```\n(cd ./ui \u0026\u0026 npm install)\n(cd ./api \u0026\u0026 npm install)\n```\n\n*Start API server*\n```\ncd ./api \u0026\u0026 npm start\n```\n\n![](api/img/graphql-playground.png)\n\n### [`/ui`](./ui)\n\nThis will start the GraphQL API in the foreground, so in another terminal session start the UI development server:\n\n*Start UI server*\n```\ncd ./ui \u0026\u0026 npm start\n```\n\n![](ui/img/default-app.png)\n\nSee [the project releases](https://github.com/grand-stack/grand-stack-starter/releases) for the changelog.\n\n## Deployment\n\n### Zeit Now v2\n\nZeit Now v2 can be used with monorepos such as grand-stack-starter. [`now.json`](https://github.com/grand-stack/grand-stack-starter/blob/master/now.json) defines the configuration for deploying with Zeit Now v2.\n\n1. Set the now secrets for your Neo4j instance:\n\n```\nnow secret add NEO4J_URI bolt+routing://\u003cYOUR_NEO4J_INSTANCE_HERE\u003e\nnow secret add NEO4J_USER \u003cYOUR_DATABASE_USERNAME_HERE\u003e\nnow secret add NEO4J_PASSWORD \u003cYOUR_DATABASE_USER_PASSWORD_HERE\u003e\n```\n\n2. Run `now`\n\n### Zeit Now v1\n\n1. Run `now` in `/api` and choose `package.json` when prompted.\n1. Set `REACT_APP_GRAPHQL_API` based on the API deployment URL from step 1 in `ui/.env`\n1. Run `now` in `/env` and choose `package.json` when prompted.\n\n## Docker Compose\n\nTo use docker-compose to quickly start please make the following changes\n\napi/.env:\n```\nNEO4J_URI=bolt://neo4j:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=letmein\nGRAPHQL_LISTEN_PORT=4000\nGRAPHQL_URI=http://api:4000\n```\n\nNow you can quickly start via:\n```\ndocker-compose up -d\n```\n\nIf you want to load the example DB after the services have been started:\n```\ndocker-compose run api npm run seedDb\n```\n\n\nThis project is licensed under the Apache License v2.\nCopyright (c) 2018 Neo4j, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmneedham%2Fstrava-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmneedham%2Fstrava-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmneedham%2Fstrava-app/lists"}