In short, we need to create a cross-platform application for Windows (8 and above) and OS X in C ++ (or Objective-C, C#, etc.), using Qt (or something else, we wiil discuss it with the developer).
Basic requirements for the application:
- Work in the application using a touchscreen gestures and interactive whiteboard
- Target resolution is 1920x1080 (for Windows version), application must support scaling
- Simple and "clean" interface, application is fullscreen (design is similar to the Metro-style interface of Windows 8)
- The ability to view the contents of certain folders, with the possibility of opening\displaying image files (jpeg, png, gif), flash (swf), video files (avi), MS Word files (doc, docx)
- Storage of data in the database and xml-files
- The ability to write annotations on screen (drawing), with the ability to write notes on top of any image and save\load them, and a choice of several colors and brush sizes. Opportunity to erase drawing partially or completely. Keeping multiple screens with notes in one file
- The possibility of zooming image
- The ability to read Smart Cards (PC/SC) and commit certain actions (opening the file\certain form) in accordance with the card's ID
- The ability to display images from the connected document camera (USB)
- Formation of the classroom of computers, with one master computer and up to 128 slave computers
- Storing and working with multiple lists of classrooms
- Log on to a classroom using login and password
- The possibility to display image from master to any slave computer (with the ability to control slave computer using the mouse\touchscreen and a keyboard), or to all slave computers simultaneously
- The ability of remote controling the slave computers (lock\off\restart, etc.)
- The possibility to display image from slave computer to master computer (with the ability to control master computer using the mouse\touchscreen (mainly for drawing on the screen) and keyboard)
- The ability to create tests\polls on master computer and send them to a slave computers, with the ability to query the results from a slave computer and save the results
- The ability to create some table on master computer and send it to a slave computers for filling. Also we can transmitt the table showing an example of correct filling
- Completely or partly filled table may be requested from the master computer and stored (on a master or on a slave computer)
It's preferable to use SVN\GIT with access to our employee.
We need this software to be created before 1 March 2015 (part of the network functionality can be implemented thereafter; it will be discussed with the contractor)
The terms of reference for the developer will be more detailed. Discussion of options\progress, etc. with our employee. It's desirable to have an opportunity of communicating via Skype\FaceTime etc.