Overall Program Structure
|
20
|
File "gui.py" that loads without error |
5 |
Correct "main" handling |
5 |
Determine current user and display it (e.g., in title bar) |
5 |
Ability to "fake" current user |
5 |
Basic GUI Functionality
|
80
|
Working online user list
- Good layout
- Can "fake" list of online users
- Should handle many users correctly (scale, scroll, etc.)
|
20 |
Working chat invitation control
- Should retrieve selected user(s) from list
- May launch an "invitation pending" window
- May just launch the chat window directly
|
20
|
Working chat window
- Provides chat transcript
- Provides mechanism for entering new text
- Text entered locally is displayed in the transcript
- Window is dismissable
- Should show list of current members
|
20
|
Multiple simultaneous chats should be supported
|
10
|
Working invitation window
- Should provide controls to accept or reject an invitation
- Accept should launch a chat widow
- Reject should close window
- NOTE: since this first version won't use the network, there should be some way to explicitly trigger the appearance of the invitation window. This could be a separate function in the gui.py file that I can call, or a button that launches it, etc.
|
10
|
Bonus
|
20
|
Allow icons to be associated with users
|
5
|
"Buddy list" management
|
5
|
GUI richness/novelty
|
10
|