Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Prompt:
- Could you create a whole website about the following:
- Context: imagine I'm a teacher who is implementing gamification in the classroom by incorporating the idea of students earning a virtual currency "bits" and they can exchange bits for "bazaar" items like extra credit, lab pass, exam skip, etc.
- Requirements:
- Signup/Signin page (using Google/Microsoft oauth)
- On signup page, radio button options to select role: Teacher or Student
- Homepage: this is the main dashboard page, showing an option to either Create a classroom (if user is Teacher) or join a classroom (if user is Student)
- Users (Teachers) can create multiple classrooms and students can join multiple classrooms. Think about it like how canvas (lms) has the concept of "modules", so a class could show up as a module
- When teacher creates a class, the popup will show the following fields:
- Class Name
- Class Code (unique ID)
- There could be an option here to also generate a random 5 digit ID (mix of chars/numbers)
- Student can join a classroom by entering the class ID shared by Teacher.
- There should be a people tab showing all users in classroom, the date/time they joined the classroom (for teacher would be when classroom was created) and the role of each person. There would be 3 roles: admin, teacher, student. Teacher who created classroom would be considered admin/teacher, and students joining the classroom would be considered student. Of another teacher joins the classroom, a role of "Teacher" only will be assigned to the teacher joining the afirementioned classroom. I will tell you more what admin could do vs teacher
- Within each classroom, from a teacher perspective, there should be an option to create a "Bazaar"
- The teacher can specify the name of the bazaar, alongside a description and the teacher should also be able to upload an image (there would otherwise be a placeholder image).
- Created bazaar should be editable (update) and removable (delete)
- In the bazaar the teacher can Add (create) items, specifying the name, description and price (with a symbol B representative of "bits" currency price). The teacher should also be able to upload an image for the item (there would otherwise be a placeholder image).
- Items could editted/removed likewise
- The student will be able to see the bazaar of they joined the classroom the teacher invited them to. The student will have an option to "Buy" item, and even specify the quantity.
- BTW, a teacher may be able to leave a classroom, as well as delete it (with appropriate confirmation warnings of course)
- The student can also leave a classroom (but not delete). I'm think the student data should be retained even if they left the classroom, cause maybe they might rejoin it later (unless it's deleted by teacher)
- When student enters a classroom (kinda like navigating inside a module on canvas which would become the "main page", there should be a "wallet" feature that shows on the top right corner (next to profile where users could logout). This wallet would display the balance a student may be assigned by teacher. The balance would be represented with the symbol 'B', the same currency used for bazaar items. Btw in the people tab i described above, there should be an option to "Assign Balance" to users (specifically students). There would be a "+ Credit" (meaning teacher adds balance to a wallet) or "- Debit" (meaning teacher subtracts a wallet balance, perhaps due to reconciliations or other means). There should also be a description field why the balance is being assigned.
- Users (e.g. students) may click on the wallet and there should be an option to view all transactions (credits/debits) along with who assigned the balance (e.g. Teacher name) and the amount credited/debited. There should be a sort/search enabled here too.
- Also in wallet feature, there should be a feature called "Wallet Transfer" that allows users to transfer balance between people in the classroom with a confirmation dialog for confirmation.
- Btw now that i described the wallet feature/balance, I mentioned above that student can buy bazaar items and specify quantity. If the quantity * price exceeds student balance wallet, disallow student from adding any further of such item (pr other items if it also exceeds them/they don't have enough) and give them warning that they don't have enough balance to purchase (more).
- Also the teacher should have an option to create groups. The teacher can specify the image of groups (which may be edittable by both teacher/students, otherwise a placeholder image), name of the groups, the number of groups to create (for bulk creation), the max number of students in each group, and have a self signup checkbox option (if enabled, students would be able to join groups without the teacher having to add them manually to the group. If a student joins a group, they wouldnt be able to join another one unless they leave a group they joined)
- Also, there should be a checkbox option for join approval. If enabled, teacher must approve a student joining a group.
- BTW, if approval option is enabled, the teacher would see an "Approvals" pending on each group and there should be like a little indicator on the Approvals showing how many Approvals are pending on that group. When teacher clicks on the pending Approvals on the group to check, they should see a dashboard window showing the name of the user/student requesting join, email, datet/time the join request was made, as well as the status of the approval (approved/pending/rejected).
- The teacher should have an option to Approve/Reject requests in this case. Btw, there should be checkboxes on all approval requests and buttons for bulk approval/rejections
- Once approvals/rejections are made, the page /groups statuses should update in real-time
- Groups should be edittable/deletable by teacher, with appropriate confirmations of course.
- Also teacher should have ability to "suspend" (remove) student
- Also when a group is clicked (whether by students or teacher user) it should list all members of that group, with a search feature to search for specific students
- Ok so now a very important feature is something I refer to as "stats". There are two stats: multiplier and accuracy. (Basically TRUE gamification at its core cause in video games they have stats similarly ;)
- So basically, to encourage students joining groups, the idea of multiplier is for every member that joins in a group, the teacher could specify a multiplier (when creating groups) something like 0.25% additional "bit" currency assigned per however many group members, for example, if a student is assigned (creditted) by teacher a balance of 10 "bits", and the student is in a group that has 3 members, that's 3 * 0.25 = 0.75 * 10 = 17.5 bits assigned (creditted).
- Btw when teacher is assigning/creditting balance to a student, the system should auto determine if student is in a group. If student is not in group, meaning "solo", they miss out on the multiplier :( but it's their choice!
- When teacher is assigning/creditting students balance, they should have an option to not include multiplier (this could be helpful fir scenarios where teacher wants to assign equal balance whether a student is in a group or not).
- BTW remember when I told you there are 3 roles: admin, teacher, student?
- Admin can delete a classroom, create/delete/update bazaar(s), create/delete/update group(s), and everything that teacher can do.
- Teacher can assign balance and approve students into groups.
- Student obviously can only buy items, join group(s), and check their balance, transactions, amd conduct wallet transfers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement