Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kiote/wimdu-cli
https://github.com/kiote/wimdu-cli
Last synced: about 7 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/kiote/wimdu-cli
- Owner: kiote
- Created: 2015-04-11T11:23:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-04-11T12:50:51.000Z (over 9 years ago)
- Last Synced: 2023-03-10T19:26:15.859Z (over 1 year ago)
- Language: Ruby
- Size: 125 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Z# Wimdu coding challenge
On wimdu.com, people can list their place to rent out. Wouldn't it be
great if there was a more nerdy way to enter your data? How about a
CLI?## The task
Build a standalone app that allows users to list their place via a
CLI. For the sake of simplicity, the data is kept locally. Similar to
the web app it should be possible to enter partial data and continue
later. However, make sure that in the end all required data is
present. Only when all data is present the newly created property
should appear in the list of all properties.* Allow users to create new properties from the command line
* Prompt for attributes, validate the input
* When the data entry is interrupted, provide a way to resume entering data
* Store the property in some local storage; make sure no invalid data
is stored
* Every property has the following attributes
* title
* property type, which is one of
* holiday home
* apartment
* private room
* address
* nightly rate in EUR
* max guests
* phone numberAn example session could look like this:
$ wimdu list
No properties found.$ wimdu new
Starting with new property ABC1DEF2.Title: Amazing room at Wimdu Office
Address: ^C$ wimdu list
No offers found.$ wimdu continue ABC1DEF2
Continuing with ABC1DEF2Address: Voltastr. 5, 13355 Berlin
Nightly rate in EUR: 12
Max guests: TwoError: must be a number
Max guests: 2
^C
$ wimdu continue ABC1DEF2
Continuing with ABC1DEF2Email: [email protected]
Phone number: +1 555 2368Great job! Listing ABC1DEF2 is complete!
$ wimdu list
Found 1 offer.ABC1DEF2: Amazing Room at Wimdu Office
## Hints
It's totally fine to use 3rd party libraries like ruby's gems. You're
free to choose your storage mechanism/database. Just use the right
tool for the job.It would be nice if you could send your results as a
repository. Either put it online or if you'd rather not have it be
public send it e.g. as a git bundle. Here's how to do that:$ git bundle create jane-schmoe-wimdu-cli.bundle master
Just to check if stuff worked, you can clone from this file with
$ git clone -b master jane-schmoe-wimdu-cli.bundle
Mercurial also has a bundle feature. If you use any other version
control system we'd appreciate instructions on how to recreate the
repo.Happy hacking!