You're lonely and bored. Your doritos are stale and no one is online, this loneliness you feel has a cure...A TAMAGOTCHI!
For those of you who have never heard of a Tamagotchi, here's a quick summary:
A tamagotchi is a virtual pet whose life you must sustain through various activities including eating, playing, making it sleep etc. Tamagotchi's go through several life cycles, most notably, egg/infant, teen, adult, elderly. Tamagotchi's can die from lack of attention (in the classic ones, half a day of neglect would kill it) and also from age. For more information check the wiki http://en.wikipedia.org/wiki/Tamagotchi
Your job is to create a tamagotchi via the command line. The goal is to see how you handle open ended design requirements.
The tamagotchi must have at least the following requirements:
- Capable of being fed
- Capable of being put to bed
- Capable of going to sleep on its own, losing health from hunger and pooping on its own without prompting
- Capable of aging from birth through to death
In addition:
- You should write this in either Scala or JavaScript (ES6)
- Use Git for version control and submit your take home test by pushing to GitHub/BitBucket/GitLab.
These are the bare minimum requirements, feel free to get quirky and add weird stuff like diseases and love interests.
Treat it like production code. That is, develop your software in the same way that you would for any code that is intended to be deployed to production. These may be toy exercises, but we really would like to get an idea of how you build code on a day-to-day basis.
What does this mean? Tests, documentation and well written code.