Giter VIP home page Giter VIP logo

wednesday-solutions / react-graphql-ts-template Goto Github PK

View Code? Open in Web Editor NEW
12.0 5.0 11.0 5.48 MB

An enterprise react graphql template application showcasing - Testing strategy, Global state management, middleware support, a network layer, component library integration, localization, PWA support, route configuration, lazy loading and CI/CD

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

License: MIT License

Shell 0.16% JavaScript 28.46% HTML 0.82% TypeScript 70.56%
graphql react redux spacex storybook styled-components webpack reduxtoolkit rtk typescript

react-graphql-ts-template's Introduction

React GraphQL TypeScript Template

An enterprise react template application showcasing - Testing strategies, Global state management, middleware support, a network layer, component library integration, localization, PWA support, route configuration, lazy loading, and Continuous integration & deployment.


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


React GraphQL TS Template CD

Getting Started

  • Install dependencies using yarn install

  • Start the dev server using yarn start

  • Go through the other scripts in package.json

TypeScript Configuration

Global state management using @redux/toolkit

Implementing a Redux middleware using redux-sagas

Network requests using apisauce

GraphQL requests using Apollo Boost

Styling using styled-components

Using antd as the component library

Localization using react-intl

Routing using react-router

Creating and showcasing components individually and in isolation using Storybooks

Bundling your application using Webpack

Analyzing the bundle size using webpack-bundle-analyzer

  • The size of the bundle is analyzed using the webpack-bundle-analyzer to make sure that the bundle is lean and optimized.

    Take a look at the following files

Implementing CI/CD pipelines using Github Actions

  • CI/CD using Github Actions. The CI pipeline has the following phases

    • Checkout
    • Install dependencies
    • Lint
    • Test
    • Build

    The CD pipeline has the following phases

    • Checkout
    • Install dependencies
    • Build
    • Deploy

    Take a look at the following files

Testing using @testing-library/react

Misc

Aliasing

  • @app -> app/
  • @containers -> app/containers/
  • @components -> app/components/
  • @services -> app/services/
  • @utils -> app/utils/
  • @themes -> app/themes
  • @images -> app/images

Take a look at the following files

Chunkify and Lazy loading

Take a look at the following files

App entry point

PWA

Take a look at the following files

Syntax for adding commit messages

Your commit messages have to be in this format:

type(category): description [flags]

Where type is one of the following:

  • build
  • docs
  • feat
  • fix
  • others
  • perf
  • refactor
  • style
  • test
  • chore
  • ci
  • temp Where flags is an optional comma-separated list of one or more of the following (must be surrounded in square brackets):
  • breaking: alters type to be a breaking change And category can be anything of your choice. If you use a type not found in the list (but it still follows the same format of the message), it'll be grouped under other.

Auto release

react-graphql-ts-template's People

Contributors

alichherawalla avatar anurag-wednesday avatar aseer-ws avatar christin-wednesday avatar poojesh-ws avatar praveenkumar1798 avatar rameez-wed avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

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.