This test is for a simple Django CRUD views to add, edit and display tour leaders.
UI mockup is in crud-test.html.
Just implement as much functionality as you can in a time-box of 2 hours focusing fist on quality rather than quantity.
There're a lot of requirements so you're not expected to complete all of them, implement what you can and do it well, And don't leave half implemented code and functionality, remove anything that's not completely finished in the final result.
At least the fist function (Add Lead) has to be implemented perfectly from every perspective (function, logic, code quality, tests, UX).
It should be with languages as inline formset where languages can be added/removed in the list.
Fields:
- Name
- Required
- Gender
- Required
- Widget: horizontal radio buttons
- Languages
- Required: at least one language should be added
- Widget: Inline formset
- Card number
- Length: 8-15
- Only numbers and capital letters: X, T, W are allowed
- Expiry date
- Required if Card number is not empty
- Has to be at least 6 months into the future
- Widget: Datepicker
- Professional
- Required
- Widget: horizontal radio buttons
Same as add
- Install dependencies:
pip install -r requirements.txt
- Run django server:
./manage.py runserver
- Open http://localhost:8000/leads/ in a browser