- Should support 1 components radio button group
- Each question and answer can be assigned by component type
- Should be flexible to add more question
- Code should be object oriented, modularized
- You can use prototype, classes, inheritance
- Solution should be in individual components interacting with each other
- Extensible folder structure for scalable application
- Build system to build dev/prod code to deploy
questions:[ {id:'Q-101', title:'What is India's capital', type:'radiogroup', options:['Delhi','Mumbai','Kolkatta','Pune']}, {id:'Q-103', title:"Grand Central Terminal, Park Avenue, New York is the world's", type:'radiogroup', options:['largest railway station','highest railway station','longest railway station','None of the above']}, {id:'Q-103', title:'Entomology is the science that studies', type:'dropdown', options:['Behavior of human beings','Insects','The origin and history of technical and scientific terms','The formation of rocks']} ]
- Should not be able to move next if question is unanswered (next button should be disabled).
- Previous button should be disabled on 1st question
- If user has answered all question on last question "Submit" button should be there
- User should be able to navigate to previous qustion and change the answer
- Should preserve state on prev and next if selected
- Supported component can be extended to more component like dropdown for answer selection
- Unit tests for components
- Status bar showing attemted/total current question no.
- Submitting one js file with functions doing all the work
- Open functions coding
- Everything in html file
- Object literal coding (plain objects with functions)