https://github.com/groceristar/graphql-server
Second generation of groceristar server
https://github.com/groceristar/graphql-server
expressjs graphql groceristar yoga-graphql
Last synced: 6 months ago
JSON representation
Second generation of groceristar server
- Host: GitHub
- URL: https://github.com/groceristar/graphql-server
- Owner: GroceriStar
- License: gpl-3.0
- Created: 2019-01-08T16:28:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-17T18:17:10.000Z (about 1 year ago)
- Last Synced: 2024-09-18T11:14:29.088Z (about 1 year ago)
- Topics: expressjs, graphql, groceristar, yoga-graphql
- Language: JavaScript
- Homepage:
- Size: 1.85 MB
- Stars: 1
- Watchers: 1
- Forks: 3
- Open Issues: 59
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# graphql-server
[](https://travis-ci.org/GroceriStar/graphql-server)### Data
#### Static data
imported from `@groceristar/groceristar-fetch` plugin and partially from Food-static-data: https://github.com/GroceriStar/sd
More about this plugin [here](https://medium.com/groceristar/groceristar-fetch-small-module-that-weve-created-8b4a62bd5d7b):#### Database schema

Details about current DB scheme: https://medium.com/groceristar/database-schema-of-groceristar-current-release-20dc1b4be7b9This is a strucuture that we have in our models:
https://github.com/ChickenKyiv/database-visuals/tree/master/groceristar/models
same structure we use at groceristar-fetch, so we can easy grab data, that we need.
database(we'll use it later):
```
"url": "mongodb://heroku_p3w65n77:h3ab8q3uaqdk7tjrauhbl7dd6r@ds235065.mlab.com:35065/heroku_p3w65n77",
"name": "groceryDS",```
### Rest API methods
This is a list of methods, that we have in our Frontend Version.
I can be like a checklist for us. In order to fully migrate from REST API server to graphQL we'll need to cover all of this cases: https://medium.com/groceristar/groceristar-website-methods-list-75b57e1414ae### GroceryStar Documentation
This is our main documentation space, related to Groceristar project: https://groceristar.github.io/documentation/### Running the development server
```
npm install
```
Graphql server will be running in http://localhost:3000/You can explore all schema types

### GraphQL Resources
I have some collection of tutorials, websites, related to GraphQL topic, storing it here: https://github.com/ChickenKyiv/awesome-graphql-beginner-linksas default webpack config didn't support babel 7 yet, we have both versions at package.json
install?? looks like it's old version
// "babel-plugin-syntax-async-functions": "^6.13.0",
// "babel-plugin-transform-regenerator": "^6.26.0",
//
// "plugins": [
// "syntax-async-functions",
// "transform-regenerator"
// ]
//
https://itnext.io/building-a-graphql-api-using-graphql-yoga-lambda-and-mongodb-c0c195621f47
https://medium.com/@xoor/coding-a-graphql-api-with-node-js-c02d617f49f41) relations. i think we should debate each relation. because I think
our schema(picture that we have) have more old-fashion logic. For example -
`UserGrocery` table - it can be just part of `User` type. I saw a lot of
big projects, that just put everything in one place and then parse it.
2) for me its hard to keep in mind that we have `Items.` I mean I have in
my head structure of groceristar without items, and all documentation,
methods related to it. maybe it will be more easy for me - when I finish
dealing with our old servers. So I propose to have our development in two
ways:
a) just recreating/replacing our current GS server - so when we create for
example a query or method - we just open my old code - see how it works and
does the same logicb) we can work with items in parallel, but we need to be aware that this
part of schema doesn't have our documentation coverage, so we'll need to
create everything from scratch.
it's not a problem for me, but I'll be more supportive to items version
when I'll know that we did basic important methods for ingredients,
grocery, departments. these 3 types have some complex things and I want to
address them first.btw, if you have questions - ask them more specifically. and I think at
another task.