Skip to content
This repository has been archived by the owner. It is now read-only.
A website to facilitate the logistics of running a Speech and Debate club
Branch: master
Clone or download
Pull request Compare This branch is even with EVSD:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



The goal of this project was to create a website which will facilitate the logistics of running a speech and debate team, including club registration/payment, tournament registration/payment, and mass communcation. The project utilizes the Meteor JavaScript framework, Materialize CSS Framework, Stripe Checkout, and several Meteor packages which are listed below.

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

Website Structure

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.
  • Logout
  • 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
  • Packages:
  • meteor-base@1.0.4
  • mobile-experience@1.0.4
  • mongo@1.1.11
  • blaze-html-templates@1.0.4
  • reactive-var@1.0.10
  • jquery@1.11.9
  • tracker@1.1.0
  • standard-minifier-css@1.2.0
  • standard-minifier-js@1.2.0
  • es5-shim@4.6.14
  • ecmascript@0.5.8
  • insecure@1.0.7
  • accounts-ui@1.1.9
  • accounts-password@1.3.0
  • accounts-base@1.2.11
  • check@1.2.3
  • alanning:roles
  • kadira:flow-router
  • kadira:blaze-layout
  • themeteorchef:bert
  • mrgalaxy:stripe
  • ostrio:files
  • npm-bcrypt
  • shell-server
  • materialize:materialize
  • edgee:slingshot

Code Credits

  • 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
You can’t perform that action at this time.