Code Monkey home page Code Monkey logo

qantas-dev-challenge's Introduction

This project was bootstrapped with 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 app

Have 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-challenge

cd qantas-dev-challenge

npm install

npm run client-install

npm run dev

Thank you.

qantas-dev-challenge's People

Contributors

sumgwork avatar dependabot[bot] 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.