An open API service indexing awesome lists of open source software.

https://github.com/nekkon/turner-townsend-test

Turner & Townsend Frontend Technical Assessment
https://github.com/nekkon/turner-townsend-test

angular typescript

Last synced: about 2 months ago
JSON representation

Turner & Townsend Frontend Technical Assessment

Awesome Lists containing this project

README

          

# Turner & Townsend Frontend Technical Assessment

## Challenges

Challenges that I encountered during development of this app were:

* Although a simple one-page app, needed to think as if it was a large app with many views / components / services etc.
* No designs, so not sure if the look and feel is satisfactory.
* Simple page, so not many things to write a test for.

## Successes

What I have achieved while developing the app:

* Clean architecture principles, using functional or OOP principles: Folder structure follows Angular Style Guide directory structure and medium best practices articles ( ex. https://medium.com/dev-jam/5-tips-best-practices-to-organize-your-angular-project-e900db08702e)
* Clear and a clean approach to styles: Styling follows BEM naming methodology with SCSS variables / theming.
* Simple markup and use of html5 standards: Lighthouse audits grades the app with 100% on Accessibility and SEO.
* Fixed default tests and added a couple more.
* Modular layouts and routing: Views are lazy loaded and layout is based on bootstrap's flex grid.

# Technical info

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.1.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Deploy

Run `npm run deploy` to deploy a build to github pages.