Skip to content

h2non/ng-exam

Repository files navigation

ng-exam

beta!

About

Do you want to start a new project with AngularJS? Are you sure that developers are able to join the project?

Be naughty and put them to the test!

This repository host a static Web application based on AngularJS, Jade and Bootstrap that can be used as seed project to provide a ready-to-use pre-configured development environment

It also provides a simple back-end WebService powered by Node.js and Express that should be consumed by the front-end application

Target developers

  • Front End Developer
  • Full Stack Web Developer
  • JavaScript Developer
  • Ambitious Developer

Prefered skills

Ideally you should be familiar:

  • Node.js
  • Jade
  • MVVM frameworks

Pre-requisites

Is required you have previously installed the following tools:

  • Node.js
  • Grunt (npm install -g grunt-cli)
  • Bower (npm install -g bower)

Setup

Clone/fork this repository (or just download the archive)

$ git clone https://github.com/h2non/ng-exam.git && cd ng-exam

Install node.js dependencies

$ npm install

Install bower dependencies

$ bower install

The "exam"

Goal

This exam aims to evaluate a general technical skillsets applied to a Web development based on Angular taken from a well undestanding of the JavaScript language and the event-driven programming to a well the proper implementation and framework features usage

Conditions

  • You can create your own folder structure and sources files as you need
  • You cannot use any JavaScript library that is not already provided
  • As a great developer, you should test your code (however is not required a full test coverage, just focus on the most critical code)
  • The Web is your friend, you can read documentation and search help
  • You cannot mofidy the provided JSHint validation directives

Duration

As recommendation, dependening of your desired developers filter level skillset, the exam could be done from 2 hours for experienced developers until to 24 hours (that mean discarding the time taken installing and setting up the environment)

Scenario

To do!

You have a seed Web application with an initial structure

Implementation requeriments

To do!

Given the existent login page...

API WebService endpoints

All the back-end communication must be performed in JSON format

/api/user/login [POST]

/api/user/register [POST]

/api/users [GET]

/api/users/:id [GET]

/api/users/:id [DELETE]

/api/users/:

Tips

  • Focus on the requirements to satisfy
  • Use the features that the framework offers you
  • Remember YAGNI, KISS and DRY principles when you are coding

Finally...

Useful links

Evaluation

Code peer review

If it's possible, the implementation should be evaluated performing a code peer review by the both parts, giving the possibility to the candidate to explain his implementation desicisions

Criteria

The order is not relevant

  • Requirements satisfied
  • Design patterns and separation of concerns
  • Code structuration and modularity
  • Impletementation complexibility
  • Proper use of the framework features and components
  • Proper JavaScript implementation
  • Coding style and conventions

License

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE

About

Are you a great AngularJS developer? (wip)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published