LICENSE
README.md
pyproject.toml
src/fnschoo1/__init__.py
src/fnschoo1/manage.py
src/fnschoo1/canteen/__init__.py
src/fnschoo1/canteen/admin.py
src/fnschoo1/canteen/apps.py
src/fnschoo1/canteen/forms.py
src/fnschoo1/canteen/models.py
src/fnschoo1/canteen/tests.py
src/fnschoo1/canteen/urls.py
src/fnschoo1/canteen/views.py
src/fnschoo1/canteen/migrations/0001_initial.py
src/fnschoo1/canteen/migrations/0002_ingredient_is_disabled.py
src/fnschoo1/canteen/migrations/0003_consumption_is_disabled_alter_ingredient_is_disabled.py
src/fnschoo1/canteen/migrations/0004_alter_ingredient_name_category_and_more.py
src/fnschoo1/canteen/migrations/0005_alter_category_created_at_alter_category_name_and_more.py
src/fnschoo1/canteen/migrations/0006_category_is_disabled_alter_category_user_and_more.py
src/fnschoo1/canteen/migrations/0007_alter_consumption_amount_used_and_more.py
src/fnschoo1/canteen/migrations/0008_category_abbreviation_mealtype.py
src/fnschoo1/canteen/migrations/0009_alter_category_abbreviation_and_more.py
src/fnschoo1/canteen/migrations/0010_alter_consumption_options_alter_ingredient_options_and_more.py
src/fnschoo1/canteen/migrations/0011_category_pin_to_consumptions_top.py
src/fnschoo1/canteen/migrations/0012_alter_ingredient_storage_date.py
src/fnschoo1/canteen/migrations/0013_alter_consumption_options_alter_ingredient_options_and_more.py
src/fnschoo1/canteen/migrations/0014_category_priority.py
src/fnschoo1/canteen/migrations/0015_alter_category_options_alter_category_priority.py
src/fnschoo1/canteen/migrations/0016_consumption_unique_ingredient_date_of_using.py
src/fnschoo1/canteen/migrations/0017_ingredient_updated_at_alter_category_created_at_and_more.py
src/fnschoo1/canteen/migrations/0018_alter_ingredient_updated_at.py
src/fnschoo1/canteen/migrations/0019_category_updated_at_ingredient_created_at_and_more.py
src/fnschoo1/canteen/migrations/0020_alter_ingredient_created_at.py
src/fnschoo1/canteen/migrations/0021_alter_category_updated_at_and_more.py
src/fnschoo1/canteen/migrations/0022_alter_category_updated_at_and_more.py
src/fnschoo1/canteen/migrations/0023_alter_consumption_options_alter_ingredient_options_and_more.py
src/fnschoo1/canteen/migrations/0024_alter_consumption_options_alter_ingredient_options_and_more.py
src/fnschoo1/canteen/migrations/0025_alter_category_name.py
src/fnschoo1/canteen/migrations/0026_alter_category_name_alter_mealtype_name.py
src/fnschoo1/canteen/migrations/0027_consumption_created_at_consumption_updated_at.py
src/fnschoo1/canteen/migrations/0028_alter_ingredient_category_alter_ingredient_meal_type.py
src/fnschoo1/canteen/migrations/0029_remove_consumption_is_disabled.py
src/fnschoo1/canteen/migrations/__init__.py
src/fnschoo1/canteen/templates/canteen/close.html
src/fnschoo1/canteen/templates/canteen/category/create.html
src/fnschoo1/canteen/templates/canteen/category/delete.html
src/fnschoo1/canteen/templates/canteen/category/list.html
src/fnschoo1/canteen/templates/canteen/category/update.html
src/fnschoo1/canteen/templates/canteen/consumption/_create.html
src/fnschoo1/canteen/templates/canteen/consumption/create.html
src/fnschoo1/canteen/templates/canteen/includes/_canteen_navigation.html
src/fnschoo1/canteen/templates/canteen/ingredient/close.html
src/fnschoo1/canteen/templates/canteen/ingredient/create.html
src/fnschoo1/canteen/templates/canteen/ingredient/create_one.html
src/fnschoo1/canteen/templates/canteen/ingredient/delete.html
src/fnschoo1/canteen/templates/canteen/ingredient/list.html
src/fnschoo1/canteen/templates/canteen/ingredient/update.html
src/fnschoo1/canteen/templates/canteen/meal_type/create.html
src/fnschoo1/canteen/templates/canteen/meal_type/delete.html
src/fnschoo1/canteen/templates/canteen/meal_type/list.html
src/fnschoo1/canteen/templates/canteen/meal_type/update.html
src/fnschoo1/canteen/workbook/__init__.py
src/fnschoo1/canteen/workbook/generate.py
src/fnschoo1/canteen/workbook/spreadsheet.py
src/fnschoo1/fnabout/__init__.py
src/fnschoo1/fnabout/admin.py
src/fnschoo1/fnabout/apps.py
src/fnschoo1/fnabout/models.py
src/fnschoo1/fnabout/tests.py
src/fnschoo1/fnabout/views.py
src/fnschoo1/fnabout/migrations/__init__.py
src/fnschoo1/fnhome/__init__.py
src/fnschoo1/fnhome/admin.py
src/fnschoo1/fnhome/apps.py
src/fnschoo1/fnhome/models.py
src/fnschoo1/fnhome/tests.py
src/fnschoo1/fnhome/urls.py
src/fnschoo1/fnhome/views.py
src/fnschoo1/fnhome/migrations/__init__.py
src/fnschoo1/fnhome/templates/fnhome/home.html
src/fnschoo1/fnhome/templates/fnhome/service_terms.html
src/fnschoo1/fnprofile/__init__.py
src/fnschoo1/fnprofile/admin.py
src/fnschoo1/fnprofile/apps.py
src/fnschoo1/fnprofile/fntoken.py
src/fnschoo1/fnprofile/forms.py
src/fnschoo1/fnprofile/models.py
src/fnschoo1/fnprofile/signals.py
src/fnschoo1/fnprofile/tests.py
src/fnschoo1/fnprofile/urls.py
src/fnschoo1/fnprofile/views.py
src/fnschoo1/fnprofile/migrations/0001_initial.py
src/fnschoo1/fnprofile/migrations/0002_auto_20251026_2235.py
src/fnschoo1/fnprofile/migrations/0003_alter_fnuser_options_alter_fnuser_groups_and_more.py
src/fnschoo1/fnprofile/migrations/0004_alter_fnuser_options_alter_fnuser_created_at_and_more.py
src/fnschoo1/fnprofile/migrations/0005_alter_fnuser_options_alter_fnuser_created_at_and_more.py
src/fnschoo1/fnprofile/migrations/0006_alter_fnuser_options_alter_fnuser_address_and_more.py
src/fnschoo1/fnprofile/migrations/0007_alter_fnuser_options_alter_fnuser_address_and_more.py
src/fnschoo1/fnprofile/migrations/0008_fnuser_email_verified_fnuser_verification_token_and_more.py
src/fnschoo1/fnprofile/migrations/0009_alter_fnuser_verification_token.py
src/fnschoo1/fnprofile/migrations/0010_remove_fnuser_email_verified_and_more.py
src/fnschoo1/fnprofile/migrations/0011_alter_fnemail_email_alter_fnemail_id_and_more.py
src/fnschoo1/fnprofile/migrations/0012_alter_fnemail_options_and_more.py
src/fnschoo1/fnprofile/migrations/0013_alter_fnemail_unique_verified_email.py
src/fnschoo1/fnprofile/migrations/0014_remove_fnemail_unique_user_primary_email_and_more.py
src/fnschoo1/fnprofile/migrations/0015_alter_fnemail_is_disabled.py
src/fnschoo1/fnprofile/migrations/0016_fnuser_logout_token_alter_fnuser_created_at_and_more.py
src/fnschoo1/fnprofile/migrations/0017_fnuser_reset_password_token_alter_fnuser_created_at_and_more.py
src/fnschoo1/fnprofile/migrations/0018_alter_fnuser_email_alter_fnuser_reset_password_token.py
src/fnschoo1/fnprofile/migrations/0019_alter_fnuser_email.py
src/fnschoo1/fnprofile/migrations/__init__.py
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/delete.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/edit__content__.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/edit__document__.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/list.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/login_notification_email.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/new.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/reset_password_email.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/verification_email.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/verify.html
src/fnschoo1/fnprofile/templates/fnprofile/fnemail/view.html
src/fnschoo1/fnprofile/templates/fnprofile/includes/_fnprofile_navigation.html
src/fnschoo1/fnprofile/templates/fnprofile/profile/edit.html
src/fnschoo1/fnprofile/templates/fnprofile/profile/log_in.html
src/fnschoo1/fnprofile/templates/fnprofile/profile/log_out.html
src/fnschoo1/fnprofile/templates/fnprofile/profile/new.html
src/fnschoo1/fnprofile/templates/fnprofile/profile/set_password.html
src/fnschoo1/fnprofile/templates/fnprofile/profile/view.html
src/fnschoo1/fnschool/__init__.py
src/fnschoo1/fnschool/asgi.py
src/fnschoo1/fnschool/context_processors.py
src/fnschoo1/fnschool/fnchar.py
src/fnschoo1/fnschool/fncookie.py
src/fnschoo1/fnschool/settings.py
src/fnschoo1/fnschool/urls.py
src/fnschoo1/fnschool/views.py
src/fnschoo1/fnschool/wsgi.py
src/fnschoo1/fnschool/templatetags/__init__.py
src/fnschoo1/fnschool/templatetags/fnschool_tags.py
src/fnschoo1/locale/en/LC_MESSAGES/django.mo
src/fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo
src/fnschoo1/patches/__init__.py
src/fnschoo1/static/_package.js
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/enums.min.js
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/enums.min.js.map
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/popper-base.min.js
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/popper-base.min.js.map
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/popper-lite.min.js
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/popper-lite.min.js.map
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/popper.min.js
src/fnschoo1/static/_node_modules_/@popperjs/core/_dist_/umd/popper.min.js.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-grid.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-grid.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-grid.rtl.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-grid.rtl.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-reboot.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-reboot.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-reboot.rtl.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-reboot.rtl.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-utilities.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-utilities.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-utilities.rtl.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap-utilities.rtl.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap.rtl.min.css
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/css/bootstrap.rtl.min.css.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/js/bootstrap.bundle.min.js
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/js/bootstrap.bundle.min.js.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/js/bootstrap.esm.min.js
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/js/bootstrap.esm.min.js.map
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/js/bootstrap.min.js
src/fnschoo1/static/_node_modules_/bootstrap/_dist_/js/bootstrap.min.js.map
src/fnschoo1/static/_node_modules_/jquery/_dist_/jquery.min.js
src/fnschoo1/static/_node_modules_/jquery/_dist_/jquery.slim.min.js
src/fnschoo1/static/_node_modules_/jquery/_dist_-module/jquery.module.min.js
src/fnschoo1/static/_node_modules_/jquery/_dist_-module/jquery.slim.module.min.js
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/enums.min.js
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/enums.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/popper-base.min.js
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/popper-base.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/popper-lite.min.js
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/popper-lite.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/popper.min.js
src/fnschoo1/static/_node_modules_/node_modules/@popperjs/core/_dist_/umd/popper.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-grid.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-grid.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-grid.rtl.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-grid.rtl.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-reboot.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-reboot.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-reboot.rtl.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-reboot.rtl.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-utilities.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-utilities.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-utilities.rtl.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap-utilities.rtl.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap.rtl.min.css
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/css/bootstrap.rtl.min.css.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/js/bootstrap.bundle.min.js
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/js/bootstrap.bundle.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/js/bootstrap.esm.min.js
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/js/bootstrap.esm.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/js/bootstrap.min.js
src/fnschoo1/static/_node_modules_/node_modules/bootstrap/_dist_/js/bootstrap.min.js.map
src/fnschoo1/static/_node_modules_/node_modules/jquery/_dist_/jquery.min.js
src/fnschoo1/static/_node_modules_/node_modules/jquery/_dist_/jquery.slim.min.js
src/fnschoo1/static/_node_modules_/node_modules/jquery/_dist_-module/jquery.module.min.js
src/fnschoo1/static/_node_modules_/node_modules/jquery/_dist_-module/jquery.slim.module.min.js
src/fnschoo1/static/locale/en_US/LC_MESSAGES/FNSCHOOL_STATIC.mo
src/fnschoo1/static/locale/zh_CN/LC_MESSAGES/FNSCHOOL_STATIC.mo
src/fnschoo1/static/public/favicon.ico
src/fnschoo1/static/src/main.js
src/fnschoo1/static/src/_gettext/compile.js
src/fnschoo1/static/src/_gettext/extract.js
src/fnschoo1/static/src/_gettext/gettext.js
src/fnschoo1/static/src/assets/css/main.css
src/fnschoo1/static/src/fnschool/main.js
src/fnschoo1/templates/close.html
src/fnschoo1/templates/home.html
src/fnschoo1/templates/base/_css.html
src/fnschoo1/templates/base/_js.html
src/fnschoo1/templates/base/content.html
src/fnschoo1/templates/base/document.html
src/fnschoo1/templates/includes/_footer.html
src/fnschoo1/templates/includes/_header.html
src/fnschoo1/templates/includes/_navigation.html
src/fnschoo1/templates/includes/_paginator.html
src/fnschoo1/templates/registration/logged_out.html
src/fnschoo1/templates/registration/login.html
src/fnschool.egg-info/PKG-INFO
src/fnschool.egg-info/SOURCES.txt
src/fnschool.egg-info/dependency_links.txt
src/fnschool.egg-info/entry_points.txt
src/fnschool.egg-info/requires.txt
src/fnschool.egg-info/top_level.txt