Git Product home page Git Product logo

wdc-website's Introduction

wdc-website's People

Contributors

me-here avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

sks2002

wdc-website's Issues

Account Registration - Member

  • Register/create club account by filling out website form containing:

  • required fields (text: name, email, confirm password, etc., drop-down: graduation year)

  • some optional fields

  • data validation with in-line errors

  • The system automatically generates a unique username consisting of user’s first name, last name, and 4 randomly selected digits (e.g. MaryLee9737)

  • send confirmation email with user info summary

- [ ] club membership contribution payment button (optional, but on the same page)
- [ ] a PDF form that can be signed online by a mouse cursor
- [ ] Users can click ‘forgot password’ and have a password reset link emailed to them

Email Features

  • mass email to user groups
  • student/parent both get emails (they share account)
  • unsubscribe ppl from custom email groups

features

Speech and Debate Website Project

The License
Copyright 2017 WDC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
If modifications are needed in the software, the modified software must be uploaded and made open-source. The software is provided “as is”, without warranty of any kind, express or implied, including but to the warranties of usage. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from the software or any connections within the software.
User roles
Administrator:
Create/delete/edit content
Create/delete/edit tournaments
Create/delete/edit/freeze/suspend/promote (to officer)/demote/approve/view accounts (to officer)
Send mass emails to user groups (using admin email account)
View/edit user account balances
Export website data to .csv
Only one admin account (hard-coded into website, cannot be deleted)
Officers:
everything the admin can do, except for creating/deleting other officers and export user profile data
everything a member can do (unless disabled for non-student officers)
Members:
View own account info
Edit own account info (emails, parent names etc) except for restricted fields
Reset account password
Upload PDFs
Sign online forms
Register for tournaments
View/export own tournament registration history
Drop from a tournament
Add to account balance via credit card
View/export own account balance history
Pay for tournaments using credit card and from account balance
Sign in/out using email provided during registration as username
View content that admins set as user-only upon signing in
The student and the student’s parent will share the account - parents should have their child’s account password, and should get email notifications about account activity, but should not get their own account
Opt in/out of custom mass email groups

Frozen:
Can’t do anything until unfrozen by admin/officer

Suspended:
Can do everything a member can do except register for tournaments

Member Account Registration
Register/create club account by filling out website form containing:
required text fields (name, email etc)
optional text fields
down-down menus (graduation year etc)
club membership contribution payment button (optional, but on the same page)
a PDF form that can be signed online by a mouse cursor
Data validation that pops up an error message right away if some field is entered incorrectly and doesn’t let users submit the form if required fields are blank or incorrectly filled out.
Data validation should include a ‘confirm password’ field
Users can click ‘forgot password’ and have a password reset link emailed to them
Admin can close/reopen club registration. Closing club registration hides club registration page from users.
All member accounts are pending until approved by an administrator/officer.
Members receive a confirmation email following the approval that summarizes all information they entered when registering.
Profiles: information entered during is stored on the member’s profile.
Members can view own profile
The system automatically generates a unique username consisting of user’s first name, last name, and 4 randomly selected digits (e.g. MaryLee9737)
Members can edit their profile, except for restricted sections
Members get a notification email every time their edit their profile summarizing all the changes they made. This email is saved in the sent folder of the admin email.
Restricted fields include name, username, and signed online forms
User database
Admin/officers can see user database showing name, username, email, date account was created, date of last login, whether the user has paid contribution, and status (admin/officer/member/frozen)
Admin/officers can click on username to view full details of each user’s profile on a separate page
Admin/officers can edit all profile information for all users (except admin)
Admin/officers can freeze/unfreeze all users (except admin)
Admin can promote/demote all users
Admin can export user database into .csv
Admin can export all signed forms into one long PDF

Tournament Registration
Users/admin/officers get a confirmation notification pop up whenever they successfully do things.

Users:
To register for a tournament, users must sign in, then fill out a website form containing:
Required text entry fields
Optional text entry fields
Drop-down Menu
Events/Divisions (important because they can be different prices)
For partner events, a drop-down menu containing a list of all other club members by unique username
Checkbox for accepting terms and conditions
Sign online form with mouse cursor
Checkbox for agreeing to terms and conditions
Registration button doubling as payment button
Data validation that pops up an error message right away if some field is entered incorrectly and doesn’t let users submit the form if required fields are blank or incorrectly filled out
For partner events, first partner creates entry and lists their partner. Second partner gets an email saying another user requested them as partner. Second partner then logs in and confirms the entry by paying for their half.
Users can drop from a tournament.
In a partner event, only one partner should drop - the system should drop the other partner automatically and charge the first partner for their entry fees if this occurs after the drop deadline
Upon registration/drop, confirmation emails will be sent out to student, parent, and, if applicable, partner and judge. Confirmation emails should contain all information entered by the student.
Upon submitting registration, members should be able to review what they entered, but should not be allowed to make edits.
Users can view their tournament registration/drop history on their profile

Admin/officers
Can create/delete/edit tournaments
When creating a tournament, can specify the following fields:
text entry/drop down menu fields users will need to fill out to register
events/divisions
price for each event/division
for each event, whether it is partner or individual
PDF forms user would need to sign online to register
entry deadline (website should not let users register past this deadline)
drop deadline (website should reimburse users for entry fees if they drop before deadline, not reimburse them if they drop after)
drop fees, if any (website should charge users if they drop after drop deadline, on top of not reimbursing them for entry fees)
restrict entry to a particular user group
set whether users who register will be automatically admitted or set as pending until admin/officer approves
Can view a table summarizing tournament registration
When a user drops from a tournament, the entry should remain in the table, but should be marked as ‘dropped’
Information from the user account (i.e. student’s email/phone, parents’ name/email/phone) should be automatically added to the tournament registration table so that users don’t have to re-enter that information every time they register for a tournament, but the admin/officers can still have easy access to it
Can sort table by entry name, by tournament, and by time
Can click on user’s name in the table to see user’s account profile
Can export table to .csv
Can see a warning if a user registered but their partner did not.
Can suspend specific users to disable their ability to register for tournaments
Can create user groups that are allowed to register for some tournaments but not others
Can export all signed forms as one long PDF per tournament

Finances
Users/admin/officers get a confirmation notification pop up whenever they successfully do things.
Payments
Users pay a set amount club membership contributed using a Stripe button during website registration. This amount is set by the admin.
Users can add money to their account balance using a Stripe payment button for any amount they choose
Users can pay the club through check and have the admin/officers manually add the amount written on the check to the user’s account balance
To sign up for a tournament, the member should have an option to either pay by credit card through Stripe or pay by auto-deducting money from their account balance. The payment button should double as the tournament registration button.
Admins can create a free tournament by setting the price as $0, in which case users should pay through their account balance rather than through Stripe
Admins/officers can decide whether to allow negative account balances.
Admin/officers can sell non-tournament items (club apparel etc) through the website and users should be able to pay for it in the same way they pay for tournaments
All credit card information should be stored on Stripe servers, not Speech and Debate Website servers
Admin can disable option to pay with Stripe/credit card throughout the website and require all payments to be done by check, then re-enable Stripe payment later
Charges
Every time a user registers for a tournament, the website should automatically increase their amount owed by the cost of the tournament (which may differ depending on the event/division and is entered into tournament settings by admin/officers)
If tournament setting say that all entries are approved right away, users should be charged right away. If tournament settings say that all entries are pending until approved by admin/officer, users should not be charged until they are approved. For Stripe credit card charges, this means having Stripe store credit card info, but not charge the credit card until the entry is approved.
If a user drops from a tournament before the registration deadline, and has already paid the entry fee, the system should automatically reimburse them for the entry fee by adding the entry fee amount to their account balance.
If a member drops from a tournament after the registration deadline, the website should charge them for the initial tournament, plus automatically charge a nuisance fee as set by the admin/officers for that tournament.
The administrator/officers should be able to manually enter charges into members’ accounts.
Account balance summary
Should show the history of all payments and charges.
For each payment/charge, should show amount, time/date recorded, payment method (check vs credit card), tournament/other category, reason (explanation for manual charges etc, automatically set to ‘entry fee’ for tournament registration, automatically set to ‘drop fee’ for drops).
For logged checks, show amount, memo, date check written, date check deposited.
For Stripe payments, record the name on the credit card, so that website payments can be manually checked against transactions list on Stripe website.
Users can view their own account balance history as part of their profile, showing each payment/charge details, as above, plus tracking how their overall balance changed with each payment/charge. Admin/officers can also view user account balance histories when viewing user profiles.
Automatically sends email to student/parent every time account balance changes summarizing the change. Email should be saved in ‘sent’ folder of admin email.
Admin/officers can view a summary table showing the name of each user and their account balance, can sort this table by user name and by account balance, can export this table to .csv, can click on each user’s name to see full profile.
Admins/officers can view a table summarizing every charge/payment that went through the website, can sort this table by user, by tournament/other category, and by time, can click on each user’s name to see full profile, and can export to .csv

Content
Admin/officers can create/edit/delete pages
Editing a page includes to ability to create a page hierarchy that’s represented on the website navigation bar
Page can include title (used to create page url), body text, different fonts/markup, html embedding, images
Pages can be set to be viewable to public, or only to users upon sign-in
Page history - lists when each page as edited and by which officer

Mass emails
The admin/officers can mass email the following groups:
All users
All users registered for a given tournament in a given event
Custom groups created manually by admin/officers
Custom groups created by users opting in to them
For each of these groups, the admin/officers should be able to select whether to email the students only, the parents only, or both.
Automatically CC the admin on all mass emails and alert them to which officer sent it

Website data
The admin can download the entire database as .csv, then re-upload it to the website in case the website crashes
Admin/officers can view website Google Analytics on their console

~Tournaments - Users

  • On Sign-in

  • Fields (copy from EVSD) + terms of conditions (checkbox and text with terms)

  • Partner Events have drop-down menu with other members by username

  • Add to account balance via credit card (if sign-up for tournament without enough balance, prompt to refill)

  • Register for tournaments
    Features

  • View/export own tournament registration history

  • View/export own account balance history

  • Drop from a tournament

  • Add to account balance via credit card (if sign-up for tournament without enough balance, prompt to refill)

Sign online form with mouse cursor

Data validation that pops up an error message right away if some field is entered incorrectly and doesn’t let users submit the form if required fields are blank or incorrectly filled out
For partner events, first partner creates entry and lists their partner. Second partner gets an email saying another user requested them as partner. Second partner then logs in and confirms the entry by paying for their half.
Users can drop from a tournament.
In a partner event, only one partner should drop - the system should drop the other partner automatically and charge the first partner for their entry fees if this occurs after the drop deadline
Upon registration/drop, confirmation emails will be sent out to student, parent, and, if applicable, partner and judge. Confirmation emails should contain all information entered by the student.
Upon submitting registration, members should be able to review what they entered, but should not be allowed to make edits.
Users can view their tournament registration/drop history on their profile

Admin/officers
Can create/delete/edit tournaments
When creating a tournament, can specify the following fields:
text entry/drop down menu fields users will need to fill out to register
events/divisions
price for each event/division
for each event, whether it is partner or individual
PDF forms user would need to sign online to register
entry deadline (website should not let users register past this deadline)
drop deadline (website should reimburse users for entry fees if they drop before deadline, not reimburse them if they drop after)
drop fees, if any (website should charge users if they drop after drop deadline, on top of not reimbursing them for entry fees)
restrict entry to a particular user group
set whether users who register will be automatically admitted or set as pending until admin/officer approves
Can view a table summarizing tournament registration
When a user drops from a tournament, the entry should remain in the table, but should be marked as ‘dropped’
Information from the user account (i.e. student’s email/phone, parents’ name/email/phone) should be automatically added to the tournament registration table so that users don’t have to re-enter that information every time they register for a tournament, but the admin/officers can still have easy access to it
Can sort table by entry name, by tournament, and by time
Can click on user’s name in the table to see user’s account profile
Can export table to .csv
Can see a warning if a user registered but their partner did not.
Can suspend specific users to disable their ability to register for tournaments
Can create user groups that are allowed to register for some tournaments but not others
Can export all signed forms as one long PDF per tournament

Console - Member Abilities

  • All member accounts are pending until approved by an administrator/officer
  • View Account Info
  • Edit basic account info (emails, parent names, reset password)
  • Restricted fields include name, username, and signed online forms
  • View user-only content
  • Sign in/Out with Email

Upload PDFs (idk)
Sign online forms

Description

Speech and Debate Website Project

The License
Copyright 2017 WDC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
If modifications are needed in the software, the modified software must be uploaded and made open-source. The software is provided “as is”, without warranty of any kind, express or implied, including but to the warranties of usage. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from the software or any connections within the software.
User roles
Administrator:
Create/delete/edit content
Create/delete/edit tournaments
Create/delete/edit/freeze/suspend/promote (to officer)/demote/approve/view accounts (to officer)
Send mass emails to user groups (using admin email account)
View/edit user account balances
Export website data to .csv
Only one admin account (hard-coded into website, cannot be deleted)
Officers:
everything the admin can do, except for creating/deleting other officers and export user profile data
everything a member can do (unless disabled for non-student officers)
Members:
View own account info
Edit own account info (emails, parent names etc) except for restricted fields
Reset account password
Upload PDFs
Sign online forms
Register for tournaments
View/export own tournament registration history
Drop from a tournament
Add to account balance via credit card
View/export own account balance history
Pay for tournaments using credit card and from account balance
Sign in/out using email provided during registration as username
View content that admins set as user-only upon signing in
The student and the student’s parent will share the account - parents should have their child’s account password, and should get email notifications about account activity, but should not get their own account
Opt in/out of custom mass email groups

Frozen:
Can’t do anything until unfrozen by admin/officer

Suspended:
Can do everything a member can do except register for tournaments

Member Account Registration
Register/create club account by filling out website form containing:
required text fields (name, email etc)
optional text fields
down-down menus (graduation year etc)
club membership contribution payment button (optional, but on the same page)
a PDF form that can be signed online by a mouse cursor
Data validation that pops up an error message right away if some field is entered incorrectly and doesn’t let users submit the form if required fields are blank or incorrectly filled out.
Data validation should include a ‘confirm password’ field
Users can click ‘forgot password’ and have a password reset link emailed to them
Admin can close/reopen club registration. Closing club registration hides club registration page from users.
All member accounts are pending until approved by an administrator/officer.
Members receive a confirmation email following the approval that summarizes all information they entered when registering.
Profiles: information entered during is stored on the member’s profile.
Members can view own profile
The system automatically generates a unique username consisting of user’s first name, last name, and 4 randomly selected digits (e.g. MaryLee9737)
Members can edit their profile, except for restricted sections
Members get a notification email every time their edit their profile summarizing all the changes they made. This email is saved in the sent folder of the admin email.
Restricted fields include name, username, and signed online forms
User database
Admin/officers can see user database showing name, username, email, date account was created, date of last login, whether the user has paid contribution, and status (admin/officer/member/frozen)
Admin/officers can click on username to view full details of each user’s profile on a separate page
Admin/officers can edit all profile information for all users (except admin)
Admin/officers can freeze/unfreeze all users (except admin)
Admin can promote/demote all users
Admin can export user database into .csv
Admin can export all signed forms into one long PDF

Tournament Registration
Users/admin/officers get a confirmation notification pop up whenever they successfully do things.

Users:
To register for a tournament, users must sign in, then fill out a website form containing:
Required text entry fields
Optional text entry fields
Drop-down Menu
Events/Divisions (important because they can be different prices)
For partner events, a drop-down menu containing a list of all other club members by unique username
Checkbox for accepting terms and conditions
Sign online form with mouse cursor
Checkbox for agreeing to terms and conditions
Registration button doubling as payment button
Data validation that pops up an error message right away if some field is entered incorrectly and doesn’t let users submit the form if required fields are blank or incorrectly filled out
For partner events, first partner creates entry and lists their partner. Second partner gets an email saying another user requested them as partner. Second partner then logs in and confirms the entry by paying for their half.
Users can drop from a tournament.
In a partner event, only one partner should drop - the system should drop the other partner automatically and charge the first partner for their entry fees if this occurs after the drop deadline
Upon registration/drop, confirmation emails will be sent out to student, parent, and, if applicable, partner and judge. Confirmation emails should contain all information entered by the student.
Upon submitting registration, members should be able to review what they entered, but should not be allowed to make edits.
Users can view their tournament registration/drop history on their profile

Admin/officers
Can create/delete/edit tournaments
When creating a tournament, can specify the following fields:
text entry/drop down menu fields users will need to fill out to register
events/divisions
price for each event/division
for each event, whether it is partner or individual
PDF forms user would need to sign online to register
entry deadline (website should not let users register past this deadline)
drop deadline (website should reimburse users for entry fees if they drop before deadline, not reimburse them if they drop after)
drop fees, if any (website should charge users if they drop after drop deadline, on top of not reimbursing them for entry fees)
restrict entry to a particular user group
set whether users who register will be automatically admitted or set as pending until admin/officer approves
Can view a table summarizing tournament registration
When a user drops from a tournament, the entry should remain in the table, but should be marked as ‘dropped’
Information from the user account (i.e. student’s email/phone, parents’ name/email/phone) should be automatically added to the tournament registration table so that users don’t have to re-enter that information every time they register for a tournament, but the admin/officers can still have easy access to it
Can sort table by entry name, by tournament, and by time
Can click on user’s name in the table to see user’s account profile
Can export table to .csv
Can see a warning if a user registered but their partner did not.
Can suspend specific users to disable their ability to register for tournaments
Can create user groups that are allowed to register for some tournaments but not others
Can export all signed forms as one long PDF per tournament

Finances
Users/admin/officers get a confirmation notification pop up whenever they successfully do things.
Payments
Users pay a set amount club membership contributed using a Stripe button during website registration. This amount is set by the admin.
Users can add money to their account balance using a Stripe payment button for any amount they choose
Users can pay the club through check and have the admin/officers manually add the amount written on the check to the user’s account balance
To sign up for a tournament, the member should have an option to either pay by credit card through Stripe or pay by auto-deducting money from their account balance. The payment button should double as the tournament registration button.
Admins can create a free tournament by setting the price as $0, in which case users should pay through their account balance rather than through Stripe
Admins/officers can decide whether to allow negative account balances.
Admin/officers can sell non-tournament items (club apparel etc) through the website and users should be able to pay for it in the same way they pay for tournaments
All credit card information should be stored on Stripe servers, not Speech and Debate Website servers
Admin can disable option to pay with Stripe/credit card throughout the website and require all payments to be done by check, then re-enable Stripe payment later
Charges
Every time a user registers for a tournament, the website should automatically increase their amount owed by the cost of the tournament (which may differ depending on the event/division and is entered into tournament settings by admin/officers)
If tournament setting say that all entries are approved right away, users should be charged right away. If tournament settings say that all entries are pending until approved by admin/officer, users should not be charged until they are approved. For Stripe credit card charges, this means having Stripe store credit card info, but not charge the credit card until the entry is approved.
If a user drops from a tournament before the registration deadline, and has already paid the entry fee, the system should automatically reimburse them for the entry fee by adding the entry fee amount to their account balance.
If a member drops from a tournament after the registration deadline, the website should charge them for the initial tournament, plus automatically charge a nuisance fee as set by the admin/officers for that tournament.
The administrator/officers should be able to manually enter charges into members’ accounts.
Account balance summary
Should show the history of all payments and charges.
For each payment/charge, should show amount, time/date recorded, payment method (check vs credit card), tournament/other category, reason (explanation for manual charges etc, automatically set to ‘entry fee’ for tournament registration, automatically set to ‘drop fee’ for drops).
For logged checks, show amount, memo, date check written, date check deposited.
For Stripe payments, record the name on the credit card, so that website payments can be manually checked against transactions list on Stripe website.
Users can view their own account balance history as part of their profile, showing each payment/charge details, as above, plus tracking how their overall balance changed with each payment/charge. Admin/officers can also view user account balance histories when viewing user profiles.
Automatically sends email to student/parent every time account balance changes summarizing the change. Email should be saved in ‘sent’ folder of admin email.
Admin/officers can view a summary table showing the name of each user and their account balance, can sort this table by user name and by account balance, can export this table to .csv, can click on each user’s name to see full profile.
Admins/officers can view a table summarizing every charge/payment that went through the website, can sort this table by user, by tournament/other category, and by time, can click on each user’s name to see full profile, and can export to .csv

Content
Admin/officers can create/edit/delete pages
Editing a page includes to ability to create a page hierarchy that’s represented on the website navigation bar
Page can include title (used to create page url), body text, different fonts/markup, html embedding, images
Pages can be set to be viewable to public, or only to users upon sign-in
Page history - lists when each page as edited and by which officer

Mass emails
The admin/officers can mass email the following groups:
All users
All users registered for a given tournament in a given event
Custom groups created manually by admin/officers
Custom groups created by users opting in to them
For each of these groups, the admin/officers should be able to select whether to email the students only, the parents only, or both.
Automatically CC the admin on all mass emails and alert them to which officer sent it

Website data
The admin can download the entire database as .csv, then re-upload it to the website in case the website crashes
Admin/officers can view website Google Analytics on their console

Console - Admin Abilities

  • Create/delete/edit content
  • Create/delete/edit tournaments
  • Create/delete/edit/freeze/suspend/promote (to officer)/demote/approve/view accounts (to officer)
  • Only one admin account (hard-coded into website, cannot be deleted)
  • Export website data to .csv (add a link for the console page)
  • View/edit user account balances
  • User Table (name, username, email, created date, last login date, paid?, status (with the ability to change it))
  • Full user profile detail previews (can edit any user's profile info here)
  • Enable/Disable Club Reg (hides it from website)

- [ ] Admin can export user database into .csv
- [ ] Admin can export all signed forms into one long PDF

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.