Site will be developed in gwt (google web toolkit), tomcat and mysql. UI strings shold allow internationalization, using i18n features of gwt.
Full source code will be delivered at the end.
Application features are described below.
1. Self Registration (email, password, name)
2. Profile editing
2.1. Change Password
2.2. Edit Name
2.3. Delete account
2.4. Add/remove access to test results for other account
2.5. Add/remove test categories to take
3. View test results and reports
3.1. Show percentages of the tests taken
3.2. Compare with the other users
4. Take test
4.1. Create a set of 10 questions to ask,
show questions and get responses in order, (questions may have a picture to show and/or a sound to play)
Send the results to the server after all questions in the set finished.
Show results of the current 10-question and current test -possibly containing 100s of questions-.
5. Login with remember me/ remember my password selections
1. Manage users ( view results, view permissions, etc. )
1.1. make active if passive
1.2. make passive
1.3. delete user
1.4. Manage user groups
1.5. view user test results
1.6. view user' access rights given to other users
1.7. view user test categories
2. Manage test categories ( hierarchical categories, leaf nodes contains tests )
2.1. create/delete/edit a category
2.2. move a category to another position in current tree or in the other tree
3. Manage tests ( each test belongs to a category and contains 100s of questions)
3.1. create/delete/edit a test
3.2. move a test to another position in current category or in the other category
4. Manage pictures ( questions may be assigned a picture. pictures are db records with files related to them. each picture has search keywords. )
4.1. delete/edit a picture
4.2. create a picture by uploading file
4.3. synchronize picture database records and file system containing pictures
4.4. search on pictures by keywords
5. Manage sounds ( questions may be assigned a sound. sounds are db records with files related to them. each sound has search keywords. )
5.1. delete/edit a sound
5.2. create a sound by uploading file
5.3. synchronize sound database records and file system containing sound
5.4. search on sounds by keywords
6. Manage questions ( each question is either multiselect or fill-in type.
May be assigned a sound and/or picture.
There are many-to-many relation between tests and questions.
So that a question may belong to multiple tests. )
6.1. create/delete/edit a question,
6.2. move question to another test. ( should be reflected to user test results. )
7. Send batch email to all or selected users