Creation of an educational application which makes use of user-created virtual flash cards.
- Create open-source Windows-based application and interface. C++ preferred.
- Allow users power to create and edit virtual flash cards and group them into decks. Ability to categorize, name and enter a description and difficulty level for their decks. Ability to add cards to existing decks.
- Virtual cards will be two-sided, consisting of a Question side and an Answer side.
- The virtual flash cards will support option for backgroud color/image, as well as capability to display text (word wrap), hyperlink (either to a file or external web page), buttons, images, audio and video in the foreground. Comparable to a simple Powerpoint slide for each side.
- Implement capability to browse cards in a deck and to search virtual cards and display results to user.
- Allow users to export decks to a file, transfer to another user and import the shared deck into second user's application.
- Randomize feature to "shuffle" single or multiple selected decks at the beginning of a learning session.
- Ability to mark/unmark a card as "Learned". Card will not appear as frequently in random shuffle in this status.
- Ability to mark a saved deck as "under construction" (inactive).
- Program will include an options dialog which will allow the user to set various global settings. Desired options are:
- Display inactive decks in deck library? (yes/no)
- Automark cards as learned? (yes/no) If yes, after (user input #) correct guesses.
- Include Learned cards in learning session (yes/no) If yes, (user input #)% (1-100) chance of Learned cards to be included in a learning session.
- Keystroke activation ability for mouse buttons.
- Compatibility with the Machintosh OS X (Tiger) is greatly desired. I know very little of this OS at present, but I do like what I see.
- Full-screen mode for learning sessions is also desired.
Upon application start, the program will present the user with a “Deck Library” main page screen. Available decks will be sorted into categories (a characteristic called out in the deck’s description) and have checkboxes alongside the name of the deck. Underneath the Deck Library will be a checkbox providing the option to randomize the cards from the decks selected. Beneath that will be Action buttons (consisting of at least a “Learn!” and “Edit” button.
In both Learn and Edit modes, both sides of the card will be displayed. In Learn mode, the answer side of the card will be blank until revealed by the user’s request.
For Learn mode, the user will enter into a learning session and be presented with the Question side and a concealed Answer side. In between the sides will be a button to Reveal the Answer side to the user. The Answer side will then be revealed. If the Automark option is disabled, the user will be given a Next Card button and the ability to mark the card as Learned. If the Automark option is enabled, the program will prompt the user to supply whether or not the guess to the Question side was correct. The program will need to retain this data.
For Edit mode, the user will be able to select only a single deck to edit. Upon entering Edit mode, both sides of the card will be revealed. The user will be able to browse back and forth between cards in the deck and add blank cards to the deck. The process of editing and creating a card will be as a simple form of Powerpoint: placement of objects such as text boxes, action buttons, images, and video. Size of objects should be able to be set by the user. Basic text characteristics should be selectable (bold, italic, underline, hex color values). Action buttons may link to audio files, video files, images, documents or external hyperlinks. Any file referenced by a card should be stored with the card inside the deck, so that when a deck is exported and shared the card will function as created.
Good communication skills, work ethic and fluency in the English language.
Include in your bid:
1) Rough and realistic estimate of required time span for this project. Part-time sellers are welcome to participate in this bid.
2) Hours of operation.
3) Bid amount if you bid outside the range listed. Include an explanation for being higher or lower than the bid range (this is required).
4) More than one line of text. Money will not be the sole factor of this project. I will carefully look over your profile and bid presentation.
5) I have very limited programming knowledge. I am not a programmer. If something I want is not feasible… I need to be told.
This project will be open for bidding for 14 days. I will not make a decision until after this period so please do not bid if you have unanswered questions. Please post addional questions on the project clarification board asap. I will check it at least once daily.