Skip to content

Latest commit

 

History

History
55 lines (43 loc) · 2.88 KB

README.md

File metadata and controls

55 lines (43 loc) · 2.88 KB
Sapient Assignment

Powered By:

N|Solid

Tested Environment:

  • This app is tested only on Linux Ubuntu 20.04.1 LTS (Focal Fossa).

Known Issues:

  • Currently server side rendering of this app doesn't work on Windows System.

Installation

App requires Node.js v12+ to run. Install the dependencies and devDependencies and follow below steps, to run the app. Visit localhost:4000 or the URL given by cloud server to see the running app.

$ git clone https://github.com/techraiders/sapient.git
$ cd sapient
$ npm install
$ npm run build
$ npm start

App has following features:

  • Filters records by launch year, launch success, and land success.
  • Renders the first page on the server using nguniversal.
  • Page is responsive on mobile, tablet, and desktop devices.
  • Installs as PWA in your device, irrespective of operating system.
  • Implementation follows Mobile first design approach.
  • Mobile View: Page has only one Column until 700 px.
  • Tablet View: Page has 2 columns between 700 and 1024 px.
  • Desktop View: Page has 4 columns between 1024 and 1440 px.

Aproach and Stack Details:

App uses a number of open source projects to work properly:

  • Angular - App uses Angular framework for Single Page Web App.
  • Angular Universal - Enables Angular app render on the server.
  • Angular Universal Builders - Builds the project to deploy on the production.
  • Angular Express Engine - Uses Express Engine to run Angular Apps on the server for server side rendering.
  • Node.js - Runtime Environment that runs the Express Server that serves the requests of the browser.
  • SCSS - Extends the features of CSS, and facilitates Cleaner, Modular Beautiful Styles.
  • Jasmine - Uses jasmine to unit test feature like component, service etc.
  • Karma - Uses Karma to run unit test cases.
  • Bootstrap - Uses bootstrap-reboot.scss to reset default styles applied by web browser, to avoid cross browser compatibility issues.
  • Compression - Uses gzip compression and serves static files from server to browser with Content-Encoding gzip that reduces the requirement of transfer over network and speeeds up initial page load.

Performance of the app on Local Host:

Performance of the app on Deployment Server: