Technologies Used

The components of the App are built using the core components of React. The theme also constantly incorporates various other latest technologies.

React is a JavaScript library created for building fast and interactive user interfaces for web and mobile applications. It is an open-source, component-based, front-end library responsible only for the application’s view layer. In Model View Controller (MVC) architecture, the view layer is responsible for how the app looks and feels. React was created by Jordan Walke, a software engineer at Facebook.

Material UI is an open-source, front-end framework for React components that has 60,500 plus stars on github. It is built using Less. Less (stands for Leaner Style Sheets), is a backward-compatible language extension for CSS. Material UI is based on Google’s Material Design to provide a high-quality, digital experience while developing front-end graphics. Material Design focuses on providing bold and crisp designs – it builds textures by focusing on how the components cast shadows and reflect light.

React Router, and dynamic, client-side routing, allows us to build a single-page web application with navigation without the page refreshing as the user navigates. React Router uses component structure to call components, which display the appropriate information.

GraphQL is a substitute for REST architecture modern applications aren't fit for REST. The reason is the point-to-point nature of REST, a procedural API technology, forces the authors of services and clients to coordinate each use case ahead of time. When frontend teams must constantly ask backend teams for new endpoints, often with each new screen in an app, development is dramatically slowed down. Both teams need to move fast independently.

For Application level state management conventionally Redux is used but in our app we have used Apollo's built in state management. The problem with Redux is too much boiler code which bloats code and has a strong learning curve for new user. Since we are already using Apollo for replacement to REST without using any third party state management libraries we have used it's built in State management provided by Apollo Client. Our application is a medium size application and works very well with it.

Last updated