<commit_before>Core Features
=============
List for implementation.

Accounts
--------
(An account is only required to volunteer for a shift)
✓ A user can log in with Facebook
✓ A user can log in with Google

Volunteering
------------
✓ A user can see shifts taken/available
✓ User can sign up for a shift (only one each week)
✓ User can cancel their own shift (only their own)
* New users can only sign up for a shift with an exec
* User can contact <EMAIL>

Email
-----
* Users and admins can manage their email preferences
* User can be reminded of their shift by email
* User gets a thank-you email
* User gets an email when shifts become available
* Admin is notified of shifts on Friday
* Admin can be notified of each shift taken

Exec
----
* Admin can get more information on users (to contact them)
* Admin can add or remove other admins
* Admin can see previous weeks
* Admin can cancel a shift


Backend
-------
(Need a database for users, and a database for volunteering info)
✓ Shifts become read-only Friday evening
✓ Shifts for new week become available early in the week (Monday?)<commit_msg>Format DESIGN as Markdown task list<commit_after>Core Features
=============
List for implementation.

Accounts
--------
(An account is only required to volunteer for a shift)
[X] A user can log in with Facebook
[X] A user can log in with Google

Volunteering
------------
[X] A user can see shifts taken/available
[X] User can sign up for a shift (only one each week)
[X] User can cancel their own shift (only their own)
[ ] New users can only sign up for a shift with an exec
[ ] User can contact <EMAIL>

Email
-----
[X] Users and admins can manage their email preferences
[ ] User can be reminded of their shift by email
[ ] User gets a thank-you email
[ ] User gets an email when shifts become available
[ ] Admin is notified of shifts on Friday
[ ] Admin can be notified of each shift taken

Exec
----
[X] Admin can get more information on users (to contact them)
[ ] Admin can add or remove other admins
[ ] Admin can see previous weeks
[X] Admin can cancel a shift


Backend
-------
(Need a database for users, and a database for volunteering info)
[X] Shifts become read-only Friday evening
[X] Shifts for new week become available early in the week (Monday?)
{'fraction_non_alphanumeric': 0.0883128295254833, 'fraction_numerical': 0.0, 'mean_word_length': 3.508910891089109, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6656198', 'n_tokens_mistral': 603, 'n_tokens_neox': 599, 'n_words': 371}