User Roles on Website
- Admin: Controls the website. Can add tournaments, change user roles, and manually change user balances.
- User: Student
- Frozen: users initially frozen until approved by admin. Admin can also freeze users to prevent them from signing up from tournaments.
- Officer: to be added feature
A side navigation bar allows the user to navigate between pages, and a footer is located at the bottom of the page.
If no user is logged in, the website contains the following:
- Homepage: contains testimonials and content describing the benefits of participating in Speech and Debate programs.
- Signup page: allows the user to create an account, including basic profile information and waiver upload functionality. Upon signup, the user will be redirected to login, then to a page where the user can pay a contribution to the club to cover costs of running such a program.
- Login page
If a user is logged in, the website contains the following:
- Profile Page: user can view the information they entered on signup, as well as edit this information.
- Account Balance: user can view a history of payment transactions as well as their current balance. User can also pay online through Stripe to increase their balance manually.
- My Tournaments Page: user can view the tournaments they are currently signed up for. They can edit these entries or delete them.
- Tournament Signup: user can signup for tournaments which are created by the admin. There is an option for partner or no partner tournaments. If partner, user can select from a list of other available users as a partner. Payment with Stripe Checkout is implemented for automated tournament payments.
Admin specific content:
- Create a Tournament: admin can create tournaments and decide what type of tournament, partner needed or not, judge needed or not, signup deadline, and price.
- Current Tournaments: admin can edit tournaments or delete them.
- See Current Signups: admin can approve tournament signups from users.
- Log Checks for Users: admin can log checks for users if, in any circumstance, Stripe Checkout online is not appropriate.
- Change User Balance: admin can change user balances manually to add or deduct a specified amount.
- Profile: admin can see site users and change their roles here (unfreeze their account after signup, etc).
Features To Be Added
- Mass emailing for communication
- UI Improvements
Sources (Packages and Frameworks Used)
- Project: Meteor JS Framework
- UI: Materialize CSS Framework
- Payment: Stripe Checkout
- Project Oversight and Guidance: Artem Raskin
- Website Structure (Navbar, Icon): Michelle Li, Richard Huang
- Homepage Content: Connie Lu, Michelle Li
- Footer: Jackson Chui, Richard Huang, Michelle Li
- User Profile: Jackson Chui
- Account Balance: Michelle Li
- Tournament Signup: Jackson Chui
- My Tournaments: Jackson Chui
- Create Tournament: Jackson Chui
- Current Tournaments: Jackson Chui
- Log Checks for Users: Michelle Li
- Change User Balance: Michelle Li
- General Stripe Checkout implementations: Michelle Li
- About Pages: Joshua Qin, Michelle Li
- Member Resources Pages: Joshua Qin, Michelle Li
- Login: Jackson Chui, Richard Huang, Michelle Li
- Logout: Richard Huang, Jackson Chui
- Signup: Jackson Chui, Michelle Li, Richard Huang
- General UI: Jackson Chui, Michelle Li, Richard Huang, Connie Lu
- Deployment / AWS: Jackson Chui
- Google Analytics: Richard Huang
- Readme Documentation: Michelle Li