Skip to content

rankill/RuleOfThumb

Repository files navigation

👍 Welcome to rule-of-thumb 👎

Version Documentation Maintenance

Netlify Status

Angular Rxjs SassKarmaJasmine

Description

For the development of the prototype the following tech stack was selected:

  • Angular 8    - In Memory Web Api: An in-memory web API for Angular demos and tests that emulates CRUD operations over a RESTy API.

  • IndexedDB to persist the votes made and obtain them after reloading the page

  • Sass, Preprocessor to implement CSS structurally and optimally, for future growth the 7-1 pattern of Sass is proposed

  • Karma / Jasmine

Layout - Responsive

  • The Mobile-first strategy was used for responsive implementation to generate a scalable architecture at the design level
  • Implementation of Flexbox in general and use of CSS Grid technique for the post list box

Architecture

The architecture, in general, allows to maintain and scale the project in a simple way, dividing this into three main folders:

  • Shell: Main component where the header and footer are rendered and any component that you want to keep throughout the navigation

  • Shared: It will contain all the elements shared by the different modules of the platform, such as components, services, directives, etc.

  • Modules: They are the main modules (Pages) of the platform

Project Setup

Install

npm install

Usage

npm run start

Run tests

To carry out the unit tests, Jasmine was used as a practice to perform BDD and Karma as a test runner. Unit tests were carried out for the main modules, generating in total: 24 specs.

npm run test

Author

👤 Luis Saraza