Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sumgwork/qantas-dev-challenge
Dev challenge project created for Qantas Assure by Sumit Govil
https://github.com/sumgwork/qantas-dev-challenge
Last synced: 29 days ago
JSON representation
Dev challenge project created for Qantas Assure by Sumit Govil
- Host: GitHub
- URL: https://github.com/sumgwork/qantas-dev-challenge
- Owner: sumgwork
- Created: 2019-03-09T07:45:28.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T17:33:51.000Z (about 2 years ago)
- Last Synced: 2023-03-03T14:27:36.801Z (almost 2 years ago)
- Language: JavaScript
- Size: 2.29 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app) for client side app, and uses an Express server to serve the CMS content.
## Available Scripts
In the root directory, you can run:
### `npm run client-install`
Can be executed after running **npm install** on root directory. Alternatively, one can go into the 'client' directory and execute 'npm install' there.
### `npm run dev`
Runs both the server as well as the client side app in development mode.
Open http://localhost:3000 to view the app in browser. The server runs on port 3001.The page will reload if you make edits.
You will also see any lint errors in the console.### `npm run test`
Launches the test runner in the interactive watch mode.
### `npm run build:client`
Builds the app for production to the `client/build` folder.
It correctly bundles React in production mode and optimizes the build for the best performance.The build is minified and the filenames include the hashes.
Your app is ready to be deployed!## Tech Stack
This project uses following tech stack:
### BACKEND
**express with graphql**
The backend consists of GraphQL Queries exposed at https://localhost:3001/graphql.
### FRONTEND
**React, React Router, Apollo Client for GraphQL**
Client application uses create-react-app build, coupled with GraphQL interfaces using Apollo Client**Helmet**
For setting title and meta descriptions on pages for crawlers and SEO purposes.**react-a11y**
For accessibility checks**styled components**
For CSS in JS, and global styling of the appHave tried to include use of some react concepts like Hooks, Higher Order Components, Render Props etc. Since this was a very small project, I had to compromise with code consistency to include as many variations of doing stuff as possible.
### TESTING
Some sample test cases have been included to ensure some code coverage is provided. This app employs Jest test runner with Enzyme.
## Quick Start Guide
Use following commands to setup and view the app in action -
```
git clone https://github.com/sumgwork/qantas-dev-challengecd qantas-dev-challenge
npm install
npm run client-install
npm run dev
```
Thank you.