Skip to content

Register residents, pets, vehicles... (backend) (Entria challenge)

Notifications You must be signed in to change notification settings

Bastiani/social-condominium

Repository files navigation

Backend for Social Condominium (Entria challenge)

Directory Structure

├── /data/                   # GraphQL generated schema
├── /repl/                   # Read-Eval-Print-Loop (REPL) configuration
├── /scripts/                # Generate GraphQL schema script
├── /src/                    # Source code of GraphQL Server
│   ├── /connection/         # Connections types (Relay)
│   ├── /interface/          # NodeInterface (Relay)
│   ├── /loader/             # Loaders of the models using DataLoader
│   ├── /model/              # Models definition (Mongoose, SQL, Google DataStore)
│   ├── /mutation/           # Mutations definition
├── /test/                   # Test helpers

Setup

npm install

Note: If you do not have mongodb installed, please install it:

brew install mongodb

Develop

npm run watch

Test

npm test

Or

npm run test:watch

Docker and docker-compose

No needs for installing dependencies or running mongod in another terminal window

docker-compose build && docker-compose up

Test

docker-compose -f docker-compose.test.yml build && docker-compose -f docker-compose.test.yml up

Production

# first compile the code
npm run build

# run graphql compiled server
npm start

Flow

npm run flow

Or

flow

REPL server

npm run repl

awesome > const user = await M.User.find()

Yep, await syntax works on the repl, it is awesome, tks @princejwesley (https://gist.github.com/princejwesley/a66d514d86ea174270210561c44b71ba)

Schema

Update your schema

npm run update-schema

Take a look on the Schema

About

Register residents, pets, vehicles... (backend) (Entria challenge)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published