- This app is tested only on Linux Ubuntu 20.04.1 LTS (Focal Fossa).
- Currently server side rendering of this app doesn't work on Windows System.
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
- 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.
See: Working Demo
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.