├── test ├── .dockerignore ├── .gitignore ├── cypress │ ├── fixtures │ │ ├── example.json │ │ └── seedDb.cypher │ ├── plugins │ │ └── index.js │ ├── support │ │ ├── index.js │ │ └── commands.js │ └── integration │ │ └── spec.js ├── cypress.json ├── Dockerfile └── package.json ├── ui ├── .dockerignore ├── static │ ├── favicon.png │ ├── logo-192.png │ ├── logo-512.png │ ├── great-success.png │ ├── manifest.json │ └── global.css ├── .env ├── .gitignore ├── src │ ├── client.js │ ├── routes │ │ ├── about.svelte │ │ ├── _layout.svelte │ │ ├── _error.svelte │ │ ├── index.svelte │ │ ├── categories │ │ │ ├── index.svelte │ │ │ └── [name].svelte │ │ └── reviews.svelte │ ├── server.js │ ├── components │ │ ├── StarRating.svelte │ │ └── Nav.svelte │ ├── apollo.js │ ├── template.html │ └── service-worker.js ├── Dockerfile ├── .eslintrc.js ├── package.json ├── rollup.config.js └── README.md ├── api ├── .dockerignore ├── .env ├── Dockerfile ├── src │ ├── graphql-schema.js │ ├── schema.graphql │ └── index.js ├── README.md └── package.json ├── img ├── app-browser.jpg ├── docker-desktop.jpg ├── neo4j-browser.jpg ├── graphql-browser.jpg ├── cypress-test-runner.jpg └── vscode-extensions.jpg ├── .vscode └── settings.json ├── docker-compose.yml ├── .gitignore ├── app.json ├── neo4j ├── Dockerfile └── README.md ├── docker-compose-stage.yml ├── LICENSE ├── .github └── workflows │ └── test.yml ├── README-DEV.md └── README.md /test/.dockerignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /ui/.dockerignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /api/.dockerignore: -------------------------------------------------------------------------------- 1 | *~ 2 | -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules/ 3 | /cypress/screenshots/ 4 | /cypress/videos/ 5 | -------------------------------------------------------------------------------- /img/app-browser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/img/app-browser.jpg -------------------------------------------------------------------------------- /img/docker-desktop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/img/docker-desktop.jpg -------------------------------------------------------------------------------- /img/neo4j-browser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/img/neo4j-browser.jpg -------------------------------------------------------------------------------- /ui/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/ui/static/favicon.png -------------------------------------------------------------------------------- /ui/static/logo-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/ui/static/logo-192.png -------------------------------------------------------------------------------- /ui/static/logo-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/ui/static/logo-512.png -------------------------------------------------------------------------------- /img/graphql-browser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/img/graphql-browser.jpg -------------------------------------------------------------------------------- /img/cypress-test-runner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/img/cypress-test-runner.jpg -------------------------------------------------------------------------------- /img/vscode-extensions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/img/vscode-extensions.jpg -------------------------------------------------------------------------------- /ui/.env: -------------------------------------------------------------------------------- 1 | SSR_GRAPHQL_URI=http://localhost:4001/graphql 2 | SAPPER_APP_GRAPHQL_URI=http://localhost:4001/graphql 3 | -------------------------------------------------------------------------------- /ui/static/great-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanbenj/sand-stack-starter/master/ui/static/great-success.png -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "files.associations": { 4 | "style.grass": "css" 5 | } 6 | } -------------------------------------------------------------------------------- /ui/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules/ 3 | /src/node_modules/@sapper/ 4 | yarn-error.log 5 | /cypress/screenshots/ 6 | /__sapper__/ 7 | -------------------------------------------------------------------------------- /ui/src/client.js: -------------------------------------------------------------------------------- 1 | import * as sapper from "@sapper/app"; 2 | 3 | sapper.start({ 4 | target: document.querySelector("#sapper") 5 | }); 6 | -------------------------------------------------------------------------------- /api/.env: -------------------------------------------------------------------------------- 1 | NODE_ENV=development 2 | NEO4J_URI=bolt://localhost:7687 3 | NEO4J_USER=neo4j 4 | NEO4J_PASSWORD=letmein 5 | GRAPHQL_LISTEN_PORT=4001 6 | GRAPHQL_URI=http://localhost:4001/graphql 7 | -------------------------------------------------------------------------------- /ui/src/routes/about.svelte: -------------------------------------------------------------------------------- 1 | 2 | About 3 | 4 | 5 |

About this site

6 | 7 |

This is the 'about' page. There's not much here.

8 | -------------------------------------------------------------------------------- /test/cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } -------------------------------------------------------------------------------- /api/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:12-alpine 2 | 3 | RUN mkdir -p /app 4 | WORKDIR /app 5 | 6 | COPY package.json . 7 | COPY package-lock.json . 8 | RUN npm install 9 | COPY src ./src 10 | COPY .env . 11 | 12 | EXPOSE 4001 13 | 14 | CMD ["npm", "start"] 15 | -------------------------------------------------------------------------------- /test/cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "baseUrl": "http://localhost:3000", 3 | "video": true, 4 | "chromeWebSecurity": false, 5 | "env": { 6 | "NEO4J_URI": "bolt://localhost:7687", 7 | "NEO4J_USER": "neo4j", 8 | "NEO4J_PASSWORD": "letmein" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | services: 4 | neo4j: 5 | build: ./neo4j 6 | ports: 7 | - 7474:7474 8 | - 7687:7687 9 | environment: 10 | - NEO4J_dbms_security_procedures_unrestricted=apoc.* 11 | - NEO4J_apoc_import_file_enabled=true 12 | - NEO4J_apoc_export_file_enabled=true 13 | - NEO4J_dbms_shell_enabled=true 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules/ 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | build 11 | 12 | # misc 13 | .DS_Store 14 | .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | yarn.lock 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | *~ 23 | -------------------------------------------------------------------------------- /ui/src/routes/_layout.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 |