Git Product home page Git Product logo

wednesday-solutions / node-express-graphql-template Goto Github PK

View Code? Open in Web Editor NEW
34.0 5.0 25.0 2.02 MB

An enterprise Express GraphQL template application built using nodejs showcasing - Testing Strategy, DB migrations and seeding, integration with an ORM, containerization using Docker, GraphQL Interface, support for GraphQL relay, integration with graphql-sequelize, support for aggregation queries, PostgreSQL

Home Page: https://wednesday.is/building-products

License: MIT License

JavaScript 99.31% Shell 0.27% Dockerfile 0.28% Makefile 0.14%
docker graphql express relay postgres join-monster graphql-sequelize node-template nodejs graphql-api-template

node-express-graphql-template's Introduction

Node Express GraphQL Template

An enterprise Express GraphQL template application built using nodejs showcasing - Testing Strategy, DB migrations and seeding, integration with an ORM, containerization using Docker, GraphQL Interface, support for GraphQL relay, integration with graphql-sequelize, support for aggregation queries, PostgreSQL


Expert teams of digital product strategists, developers, and designers.


We’re always looking for people who value their work, so come and join us. We are hiring!

Node Express GraphQL Template CI

A relay compliant server built using

  • Node
  • Express
  • Postgres
  • GraphQL
  • Docker

Out of the box support for

  • Containerization using Docker
  • Multi layered docker image support
  • CI pipeline that runs on every pull request
  • Simply add in the github secrets and uncomment the cd.yml to deploy to ECS
  • GraphQL relay compliant server
  • RBAC auth middleware
  • Out of the box support to run database migrations and seeders using sequelize
  • Multi environment support using the dotenv library
  • precommit hooks to run tests
  • docker-compose to run the application without installing additional db, and cache infrastructure
  • Autogenerate queries and mutations based on GQL models
  • Support for circuit breaking has been added using opossum
  • Support for sending slack alerts on desired errors has been added using slack-notify
  • Support for caching added with redis
  • Support for custom mutations has been added along with support for updating only specific fields
  • Support for adding a job and queuing it has been added using bull
  • GraphQl subscriptions have been added using apollo-server & graphql-redis-subscriptions
  • Support for caching of aggregate data added using Redis

Dependencies

graphql-sequelize

Please go through the documentation to understand the control flow.

Relay support has been added by following this documentation

Setup

Setting up database (postgres)

Steps to set up database with username and role using terminal

  • Enter postgres terminal psql postgres
  • Create new database CREATE DATABASE reporting_dashboard_dev;
  • Create a new role with password CREATE ROLE reporting_dashboard_role WITH LOGIN PASSWORD 'reportingdashboard123';

Setup and run locally using

./scripts/setup-local.sh

Build and run docker container locally

docker-compose down
docker-compose build
docker-compose up

Develop locally

yarn start:local

Start dev server

yarn dev

Start prod server

yarn prod

Build the application

yarn build

node-express-graphql-template's People

Contributors

alichherawalla avatar alihafizji avatar anurag-wednesday avatar aseer-ws avatar christin-wednesday avatar debarshib13 avatar ijas-ws avatar jaypoojara avatar praveenchand-wed avatar praveenkumar1798 avatar rameez-wed avatar rohan-saroha avatar tapan0212 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

node-express-graphql-template's Issues

yarn install fails by Node-gyp error

I tried several times to install all node modules but everytime I got node-gyp modules errors
tested Node versions

  • 16.2
  • 14.x

OS: Ubuntu 20.04

Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /home/umermib/Documents/codes/ainova/backend/node_modules/libpq
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]```

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.