Skip to content

Pedrovsky/dev-challenge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-challenge

This is both a challenge and a tutorial for those who want to be part of our highly qualified team of coding Ninjas!

You like Javascript (or JS for friends)? Modern web applications? Beer? Ninjas? Pandas? Well then you’re at the right place!

Let’s get started shall we?

Before starting

You’ll need NodeJS. NodeJS (or node for friends) is a platform that allows you to develop applications that run on Javascript. There are a lot more insights scattered away in the interwebz that will allow you to get more information on how node truly works, but that would be an interesting topic for another challenge/tutorial/stuff.

Node comes with npm, an awesome tool that allows you to install node programs and modules other people have developed, allowing you to use this modules in the programs you’re developing, or even use them as a normal exec program you use on your machine to do… stuff.

To code you can use your favorite IDE/text editor but, if you don’t have one, we recommend Sublime Text or Atom

You’ll also need an unix shell or a cmd windows prompt from where you’ll run any necessary commands. We personally prefer Unix but eih… We don’t judge based on the color, sex, or OS…

What about documentation?

Well, if you’re truly new to all of these we advise you to take a look at the Nodeschool workshops so that you may start to get a little more familiar with NodeJS.

We use a series of frameworks that you should also read a bit about.

To help us in our backend we use HapiJS. A framework that powers our http servers.

To help us in our frontend we use AmpersandJS. A non-frameworky framework, based in BackboneJS, that allows us to develop and use tiny modules that manage all of our clientside apps.

If you would like to get more comfortable with Javascript we advise you to read Human Javascript by Henrik Joreteg and Javascript: The Good Parts by Douglas Crockford.

The challenge!

Instructions

First of, you should fork this repo and take a look at the code. Remember to use the documentation we posted up there.

Once you’ve forked and cloned the repo into your local machine you should do:

npm install

To install all the necessary dependencies for the application to work.

Once this is done you should do:

npm start

And that’s it! Your server is up and running and ready for testing.

Note: while you’re developing we advise you to use the command:

npm run mon

To be able to use livereload.

What to do?

Well this app is supposed to allow us to manage Ninjas. Create them, get them and delete them, but right now it isn’t doing much… You should gather all the missing pieces so that we may have all the necessary endpoints in our server for our Ninja Manager API.

After this is done it’s time to move to the clientside and make sure our client is receiving all of the Ninja models properly.

What properties do Ninjas have? Heck, we don’t know, that’s why we’re hiring you, so make us proud and make us the ultimate ninja model!

A word of advice? Read these:

HapiJS route handlers

Ampersand Model

Ampersand Rest Collection

You’ve done this already and yet you’re eager for more? Well if you’re up for the true ninja challenge here it is. Our Ninja Manager app is… well, crappy. I mean, everybody is a ninja? Nop. We need you to make it possible for us to have a series of ninja “extensions”. We’ll need an Apprentice, Disciple, Master and an ultimate MasterLengend class. What do they have that distinguishes them? Well, we surely don’t now, so be creative and show us!

A word of advice? Read these:

Ampersand Model Extend

So this is it. Any questions you might have just let us know!

About

A challenge for true coding ninjas

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 55.1%
  • CSS 42.7%
  • HTML 2.2%