From a867f38153a9adc62ef4dcfe443f0f4afedb0eda Mon Sep 17 00:00:00 2001 From: lauren Date: Sat, 14 Aug 2021 20:13:07 -0400 Subject: [PATCH] initial commit --- .gitignore | 4 + Pipfile | 9 + Pipfile.lock | 272 ++++++++++++++++++ hunt/__init__.py | 0 hunt/apps/__init__.py | 0 hunt/apps/auth/__init__.py | 0 hunt/apps/auth/apps.py | 6 + hunt/apps/auth/migrations/__init__.py | 0 hunt/apps/auth/oauth.py | 36 +++ hunt/apps/auth/urls.py | 11 + hunt/apps/auth/views.py | 18 ++ hunt/apps/main/__init__.py | 0 hunt/apps/main/admin.py | 6 + hunt/apps/main/apps.py | 6 + hunt/apps/main/migrations/0001_initial.py | 35 +++ .../0002_alter_class_challenges_completed.py | 18 ++ hunt/apps/main/migrations/__init__.py | 0 hunt/apps/main/models.py | 34 +++ hunt/apps/main/urls.py | 11 + hunt/apps/main/views.py | 56 ++++ hunt/apps/users/__init__.py | 0 hunt/apps/users/admin.py | 8 + hunt/apps/users/apps.py | 6 + hunt/apps/users/migrations/0001_initial.py | 51 ++++ .../users/migrations/0002_user_is_staff.py | 18 ++ .../migrations/0003_auto_20210814_2354.py | 22 ++ hunt/apps/users/migrations/__init__.py | 0 hunt/apps/users/models.py | 86 ++++++ hunt/settings/__init__.py | 177 ++++++++++++ hunt/settings/secret.sample | 5 + hunt/static/css/base.css | 83 ++++++ hunt/static/css/index.css | 24 ++ hunt/static/css/login.css | 43 +++ hunt/static/css/overview.css | 73 +++++ hunt/static/img/favicon.png | Bin 0 -> 168996 bytes hunt/templates/auth/login.html | 17 ++ hunt/templates/base.html | 27 ++ hunt/templates/base_with_nav.html | 40 +++ hunt/templates/main/index.html | 59 ++++ hunt/templates/main/overview.html | 67 +++++ hunt/urls.py | 9 + hunt/wsgi.py | 16 ++ manage.py | 22 ++ 43 files changed, 1375 insertions(+) create mode 100644 .gitignore create mode 100644 Pipfile create mode 100644 Pipfile.lock create mode 100644 hunt/__init__.py create mode 100644 hunt/apps/__init__.py create mode 100644 hunt/apps/auth/__init__.py create mode 100644 hunt/apps/auth/apps.py create mode 100644 hunt/apps/auth/migrations/__init__.py create mode 100644 hunt/apps/auth/oauth.py create mode 100644 hunt/apps/auth/urls.py create mode 100644 hunt/apps/auth/views.py create mode 100644 hunt/apps/main/__init__.py create mode 100644 hunt/apps/main/admin.py create mode 100644 hunt/apps/main/apps.py create mode 100644 hunt/apps/main/migrations/0001_initial.py create mode 100644 hunt/apps/main/migrations/0002_alter_class_challenges_completed.py create mode 100644 hunt/apps/main/migrations/__init__.py create mode 100644 hunt/apps/main/models.py create mode 100644 hunt/apps/main/urls.py create mode 100644 hunt/apps/main/views.py create mode 100644 hunt/apps/users/__init__.py create mode 100644 hunt/apps/users/admin.py create mode 100644 hunt/apps/users/apps.py create mode 100644 hunt/apps/users/migrations/0001_initial.py create mode 100644 hunt/apps/users/migrations/0002_user_is_staff.py create mode 100644 hunt/apps/users/migrations/0003_auto_20210814_2354.py create mode 100644 hunt/apps/users/migrations/__init__.py create mode 100644 hunt/apps/users/models.py create mode 100644 hunt/settings/__init__.py create mode 100644 hunt/settings/secret.sample create mode 100644 hunt/static/css/base.css create mode 100644 hunt/static/css/index.css create mode 100644 hunt/static/css/login.css create mode 100644 hunt/static/css/overview.css create mode 100644 hunt/static/img/favicon.png create mode 100644 hunt/templates/auth/login.html create mode 100644 hunt/templates/base.html create mode 100644 hunt/templates/base_with_nav.html create mode 100644 hunt/templates/main/index.html create mode 100644 hunt/templates/main/overview.html create mode 100644 hunt/urls.py create mode 100644 hunt/wsgi.py create mode 100755 manage.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b39e819 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +db.sqlite3 +secret.py +__pycache__/ +*.pyc \ No newline at end of file diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..8a9b85e --- /dev/null +++ b/Pipfile @@ -0,0 +1,9 @@ +[[source]] +url = "https://pypi.python.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +Django = "~=3.2" +psycopg2-binary = "~=2.8.6" +social-auth-app-django = "~=4.0.0" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..3b5f4c3 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,272 @@ +{ + "_meta": { + "hash": { + "sha256": "b4008672fb38a3e89baf1655aa6b39685d638b0b7f6012ef5fb8da7b48ed33c2" + }, + "pipfile-spec": 6, + "requires": {}, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.python.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "asgiref": { + "hashes": [ + "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9", + "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214" + ], + "markers": "python_version >= '3.6'", + "version": "==3.4.1" + }, + "certifi": { + "hashes": [ + "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee", + "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8" + ], + "version": "==2021.5.30" + }, + "cffi": { + "hashes": [ + "sha256:06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d", + "sha256:0c0591bee64e438883b0c92a7bed78f6290d40bf02e54c5bf0978eaf36061771", + "sha256:19ca0dbdeda3b2615421d54bef8985f72af6e0c47082a8d26122adac81a95872", + "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c", + "sha256:26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc", + "sha256:33791e8a2dc2953f28b8d8d300dde42dd929ac28f974c4b4c6272cb2955cb762", + "sha256:3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202", + "sha256:4373612d59c404baeb7cbd788a18b2b2a8331abcc84c3ba40051fcd18b17a4d5", + "sha256:487d63e1454627c8e47dd230025780e91869cfba4c753a74fda196a1f6ad6548", + "sha256:48916e459c54c4a70e52745639f1db524542140433599e13911b2f329834276a", + "sha256:4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f", + "sha256:55af55e32ae468e9946f741a5d51f9896da6b9bf0bbdd326843fec05c730eb20", + "sha256:57e555a9feb4a8460415f1aac331a2dc833b1115284f7ded7278b54afc5bd218", + "sha256:5d4b68e216fc65e9fe4f524c177b54964af043dde734807586cf5435af84045c", + "sha256:64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e", + "sha256:6d6169cb3c6c2ad50db5b868db6491a790300ade1ed5d1da29289d73bbe40b56", + "sha256:7bcac9a2b4fdbed2c16fa5681356d7121ecabf041f18d97ed5b8e0dd38a80224", + "sha256:80b06212075346b5546b0417b9f2bf467fea3bfe7352f781ffc05a8ab24ba14a", + "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2", + "sha256:8eb687582ed7cd8c4bdbff3df6c0da443eb89c3c72e6e5dcdd9c81729712791a", + "sha256:99f27fefe34c37ba9875f224a8f36e31d744d8083e00f520f133cab79ad5e819", + "sha256:9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346", + "sha256:a8661b2ce9694ca01c529bfa204dbb144b275a31685a075ce123f12331be790b", + "sha256:a9da7010cec5a12193d1af9872a00888f396aba3dc79186604a09ea3ee7c029e", + "sha256:aedb15f0a5a5949ecb129a82b72b19df97bbbca024081ed2ef88bd5c0a610534", + "sha256:b315d709717a99f4b27b59b021e6207c64620790ca3e0bde636a6c7f14618abb", + "sha256:ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0", + "sha256:c33d18eb6e6bc36f09d793c0dc58b0211fccc6ae5149b808da4a62660678b156", + "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd", + "sha256:c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87", + "sha256:d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc", + "sha256:d950695ae4381ecd856bcaf2b1e866720e4ab9a1498cba61c602e56630ca7195", + "sha256:e22dcb48709fc51a7b58a927391b23ab37eb3737a98ac4338e2448bef8559b33", + "sha256:e8c6a99be100371dbb046880e7a282152aa5d6127ae01783e37662ef73850d8f", + "sha256:e9dc245e3ac69c92ee4c167fbdd7428ec1956d4e754223124991ef29eb57a09d", + "sha256:eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd", + "sha256:eb9e2a346c5238a30a746893f23a9535e700f8192a68c07c0258e7ece6ff3728", + "sha256:ed38b924ce794e505647f7c331b22a693bee1538fdf46b0222c4717b42f744e7", + "sha256:f0010c6f9d1a4011e429109fda55a225921e3206e7f62a0c22a35344bfd13cca", + "sha256:f0c5d1acbfca6ebdd6b1e3eded8d261affb6ddcf2186205518f1428b8569bb99", + "sha256:f10afb1004f102c7868ebfe91c28f4a712227fe4cb24974350ace1f90e1febbf", + "sha256:f174135f5609428cc6e1b9090f9268f5c8935fddb1b25ccb8255a2d50de6789e", + "sha256:f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c", + "sha256:f627688813d0a4140153ff532537fbe4afea5a3dffce1f9deb7f91f848a832b5", + "sha256:fd4305f86f53dfd8cd3522269ed7fc34856a8ee3709a5e28b2836b2db9d4cd69" + ], + "version": "==1.14.6" + }, + "charset-normalizer": { + "hashes": [ + "sha256:0c8911edd15d19223366a194a513099a302055a962bca2cec0f54b8b63175d8b", + "sha256:f23667ebe1084be45f6ae0538e4a5a865206544097e4e8bbcacf42cd02a348f3" + ], + "markers": "python_version >= '3'", + "version": "==2.0.4" + }, + "cryptography": { + "hashes": [ + "sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d", + "sha256:1e056c28420c072c5e3cb36e2b23ee55e260cb04eee08f702e0edfec3fb51959", + "sha256:240f5c21aef0b73f40bb9f78d2caff73186700bf1bc6b94285699aff98cc16c6", + "sha256:26965837447f9c82f1855e0bc8bc4fb910240b6e0d16a664bb722df3b5b06873", + "sha256:37340614f8a5d2fb9aeea67fd159bfe4f5f4ed535b1090ce8ec428b2f15a11f2", + "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713", + "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1", + "sha256:7ec5d3b029f5fa2b179325908b9cd93db28ab7b85bb6c1db56b10e0b54235177", + "sha256:8e56e16617872b0957d1c9742a3f94b43533447fd78321514abbe7db216aa250", + "sha256:b01fd6f2737816cb1e08ed4807ae194404790eac7ad030b34f2ce72b332f5586", + "sha256:bf40af59ca2465b24e54f671b2de2c59257ddc4f7e5706dbd6930e26823668d3", + "sha256:de4e5f7f68220d92b7637fc99847475b59154b7a1b3868fb7385337af54ac9ca", + "sha256:eb8cc2afe8b05acbd84a43905832ec78e7b3873fb124ca190f574dca7389a87d", + "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9" + ], + "markers": "python_version >= '3.6'", + "version": "==3.4.7" + }, + "defusedxml": { + "hashes": [ + "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", + "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.7.1" + }, + "django": { + "hashes": [ + "sha256:7f92413529aa0e291f3be78ab19be31aefb1e1c9a52cd59e130f505f27a51f13", + "sha256:f27f8544c9d4c383bbe007c57e3235918e258364577373d4920e9162837be022" + ], + "index": "pypi", + "version": "==3.2.6" + }, + "idna": { + "hashes": [ + "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a", + "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3" + ], + "markers": "python_version >= '3'", + "version": "==3.2" + }, + "oauthlib": { + "hashes": [ + "sha256:42bf6354c2ed8c6acb54d971fce6f88193d97297e18602a3a886603f9d7730cc", + "sha256:8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3" + ], + "markers": "python_version >= '3.6'", + "version": "==3.1.1" + }, + "psycopg2-binary": { + "hashes": [ + "sha256:0deac2af1a587ae12836aa07970f5cb91964f05a7c6cdb69d8425ff4c15d4e2c", + "sha256:0e4dc3d5996760104746e6cfcdb519d9d2cd27c738296525d5867ea695774e67", + "sha256:11b9c0ebce097180129e422379b824ae21c8f2a6596b159c7659e2e5a00e1aa0", + "sha256:15978a1fbd225583dd8cdaf37e67ccc278b5abecb4caf6b2d6b8e2b948e953f6", + "sha256:1fabed9ea2acc4efe4671b92c669a213db744d2af8a9fc5d69a8e9bc14b7a9db", + "sha256:2dac98e85565d5688e8ab7bdea5446674a83a3945a8f416ad0110018d1501b94", + "sha256:42ec1035841b389e8cc3692277a0bd81cdfe0b65d575a2c8862cec7a80e62e52", + "sha256:6422f2ff0919fd720195f64ffd8f924c1395d30f9a495f31e2392c2efafb5056", + "sha256:6a32f3a4cb2f6e1a0b15215f448e8ce2da192fd4ff35084d80d5e39da683e79b", + "sha256:7312e931b90fe14f925729cde58022f5d034241918a5c4f9797cac62f6b3a9dd", + "sha256:7d92a09b788cbb1aec325af5fcba9fed7203897bbd9269d5691bb1e3bce29550", + "sha256:833709a5c66ca52f1d21d41865a637223b368c0ee76ea54ca5bad6f2526c7679", + "sha256:89705f45ce07b2dfa806ee84439ec67c5d9a0ef20154e0e475e2b2ed392a5b83", + "sha256:8cd0fb36c7412996859cb4606a35969dd01f4ea34d9812a141cd920c3b18be77", + "sha256:950bc22bb56ee6ff142a2cb9ee980b571dd0912b0334aa3fe0fe3788d860bea2", + "sha256:a0c50db33c32594305b0ef9abc0cb7db13de7621d2cadf8392a1d9b3c437ef77", + "sha256:a0eb43a07386c3f1f1ebb4dc7aafb13f67188eab896e7397aa1ee95a9c884eb2", + "sha256:aaa4213c862f0ef00022751161df35804127b78adf4a2755b9f991a507e425fd", + "sha256:ac0c682111fbf404525dfc0f18a8b5f11be52657d4f96e9fcb75daf4f3984859", + "sha256:ad20d2eb875aaa1ea6d0f2916949f5c08a19c74d05b16ce6ebf6d24f2c9f75d1", + "sha256:b4afc542c0ac0db720cf516dd20c0846f71c248d2b3d21013aa0d4ef9c71ca25", + "sha256:b8a3715b3c4e604bcc94c90a825cd7f5635417453b253499664f784fc4da0152", + "sha256:ba28584e6bca48c59eecbf7efb1576ca214b47f05194646b081717fa628dfddf", + "sha256:ba381aec3a5dc29634f20692349d73f2d21f17653bda1decf0b52b11d694541f", + "sha256:bd1be66dde2b82f80afb9459fc618216753f67109b859a361cf7def5c7968729", + "sha256:c2507d796fca339c8fb03216364cca68d87e037c1f774977c8fc377627d01c71", + "sha256:cec7e622ebc545dbb4564e483dd20e4e404da17ae07e06f3e780b2dacd5cee66", + "sha256:d14b140a4439d816e3b1229a4a525df917d6ea22a0771a2a78332273fd9528a4", + "sha256:d1b4ab59e02d9008efe10ceabd0b31e79519da6fb67f7d8e8977118832d0f449", + "sha256:d5227b229005a696cc67676e24c214740efd90b148de5733419ac9aaba3773da", + "sha256:e1f57aa70d3f7cc6947fd88636a481638263ba04a742b4a37dd25c373e41491a", + "sha256:e74a55f6bad0e7d3968399deb50f61f4db1926acf4a6d83beaaa7df986f48b1c", + "sha256:e82aba2188b9ba309fd8e271702bd0d0fc9148ae3150532bbb474f4590039ffb", + "sha256:ee69dad2c7155756ad114c02db06002f4cded41132cc51378e57aad79cc8e4f4", + "sha256:f5ab93a2cb2d8338b1674be43b442a7f544a0971da062a5da774ed40587f18f5" + ], + "index": "pypi", + "version": "==2.8.6" + }, + "pycparser": { + "hashes": [ + "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", + "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.20" + }, + "pyjwt": { + "hashes": [ + "sha256:934d73fbba91b0483d3857d1aff50e96b2a892384ee2c17417ed3203f173fca1", + "sha256:fba44e7898bbca160a2b2b501f492824fc8382485d3a6f11ba5d0c1937ce6130" + ], + "markers": "python_version >= '3.6'", + "version": "==2.1.0" + }, + "python3-openid": { + "hashes": [ + "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf", + "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b" + ], + "version": "==3.2.0" + }, + "pytz": { + "hashes": [ + "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", + "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798" + ], + "version": "==2021.1" + }, + "requests": { + "hashes": [ + "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24", + "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==2.26.0" + }, + "requests-oauthlib": { + "hashes": [ + "sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d", + "sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a", + "sha256:fa6c47b933f01060936d87ae9327fead68768b69c6c9ea2109c48be30f2d4dbc" + ], + "version": "==1.3.0" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" + }, + "social-auth-app-django": { + "hashes": [ + "sha256:2c69e57df0b30c9c1823519c5f1992cbe4f3f98fdc7d95c840e091a752708840", + "sha256:567ad0e028311541d7dfed51d3bf2c60440a6fd236d5d4d06c5a618b3d6c57c5", + "sha256:df5212370bd250108987c4748419a1a1d0cec750878856c2644c36aaa0fd3e58" + ], + "index": "pypi", + "version": "==4.0.0" + }, + "social-auth-core": { + "hashes": [ + "sha256:5ab43b3b15dce5f059db69cc3082c216574739f0edbc98629c8c6e8769c67eb4", + "sha256:983b53167ac56e7ba4909db555602a6e7a98c97ca47183bb222eb85ba627bf2b" + ], + "markers": "python_version >= '3.6'", + "version": "==4.1.0" + }, + "sqlparse": { + "hashes": [ + "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0", + "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8" + ], + "markers": "python_version >= '3.5'", + "version": "==0.4.1" + }, + "urllib3": { + "hashes": [ + "sha256:39fb8672126159acb139a7718dd10806104dec1e2f0f6c88aab05d17df10c8d4", + "sha256:f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==1.26.6" + } + }, + "develop": {} +} diff --git a/hunt/__init__.py b/hunt/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/__init__.py b/hunt/apps/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/auth/__init__.py b/hunt/apps/auth/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/auth/apps.py b/hunt/apps/auth/apps.py new file mode 100644 index 0000000..3ff7fb4 --- /dev/null +++ b/hunt/apps/auth/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AuthConfig(AppConfig): + name = "hunt.apps.auth" + label = "authentication" diff --git a/hunt/apps/auth/migrations/__init__.py b/hunt/apps/auth/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/auth/oauth.py b/hunt/apps/auth/oauth.py new file mode 100644 index 0000000..15495b5 --- /dev/null +++ b/hunt/apps/auth/oauth.py @@ -0,0 +1,36 @@ +from typing import Any, Dict, List + +from social_core.backends.oauth import BaseOAuth2 +from social_core.pipeline.user import get_username as social_get_username + + +def get_username(strategy, details, *args, user=None, **kwargs): + result = social_get_username(strategy, details, user=user, *args, **kwargs) + return result + + +class IonOauth2(BaseOAuth2): + name = "ion" + AUTHORIZATION_URL = "https://ion.tjhsst.edu/oauth/authorize" + ACCESS_TOKEN_URL = "https://ion.tjhsst.edu/oauth/token" + ACCESS_TOKEN_METHOD = "POST" + EXTRA_DATA = [("refresh_token", "refresh_token", True), ("expires_in", "expires")] + + def get_scope(self) -> List[str]: + return ["read"] + + def get_user_details(self, response: Dict[str, Any]) -> Dict[str, Any]: + profile = self.get_json( + "https://ion.tjhsst.edu/api/profile", params={"access_token": response["access_token"]}, + ) + # fields used to populate/update User model + data = { + key: profile[key] + for key in ("id", "first_name", "last_name", "is_student", "graduation_year") + } + data["username"] = profile["ion_username"] + data["email"] = profile["tj_email"] + return data + + def get_user_id(self, details: Dict[str, Any], response: Any) -> int: + return details["id"] diff --git a/hunt/apps/auth/urls.py b/hunt/apps/auth/urls.py new file mode 100644 index 0000000..f4dd748 --- /dev/null +++ b/hunt/apps/auth/urls.py @@ -0,0 +1,11 @@ +from django.urls import path + +from . import views + +app_name = "auth" + +urlpatterns = [ + path("", views.index_view, name="index"), + path("login/", views.login_view, name="login"), + path("logout/", views.logout_view, name="logout"), +] diff --git a/hunt/apps/auth/views.py b/hunt/apps/auth/views.py new file mode 100644 index 0000000..c4e5d6b --- /dev/null +++ b/hunt/apps/auth/views.py @@ -0,0 +1,18 @@ +from django.contrib.auth import logout +from django.shortcuts import redirect, render + + +def index_view(request): + if request.user.is_authenticated: + return redirect("main:index") + else: + return redirect("auth:login") + + +def login_view(request): + return render(request, "auth/login.html") + + +def logout_view(request): + logout(request) + return redirect("auth:index") diff --git a/hunt/apps/main/__init__.py b/hunt/apps/main/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/main/admin.py b/hunt/apps/main/admin.py new file mode 100644 index 0000000..b91b2e1 --- /dev/null +++ b/hunt/apps/main/admin.py @@ -0,0 +1,6 @@ +from django.contrib import admin + +from .models import Challenge, Class + +admin.site.register(Challenge) +admin.site.register(Class) diff --git a/hunt/apps/main/apps.py b/hunt/apps/main/apps.py new file mode 100644 index 0000000..2590034 --- /dev/null +++ b/hunt/apps/main/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class MainConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'hunt.apps.main' diff --git a/hunt/apps/main/migrations/0001_initial.py b/hunt/apps/main/migrations/0001_initial.py new file mode 100644 index 0000000..83e0c73 --- /dev/null +++ b/hunt/apps/main/migrations/0001_initial.py @@ -0,0 +1,35 @@ +# Generated by Django 3.2.6 on 2021-08-14 22:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Challenge', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('name', models.CharField(max_length=100)), + ('description', models.CharField(max_length=500)), + ('flag', models.CharField(max_length=50)), + ('points', models.IntegerField()), + ('exclusive', models.BooleanField(default=False)), + ('locked', models.BooleanField(default=False)), + ], + ), + migrations.CreateModel( + name='Class', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('year', models.CharField(choices=[('2022', 'Seniors'), ('2023', 'Juniors'), ('2024', 'Sophomores'), ('2025', 'Freshmen')], max_length=20, unique=True)), + ('last_updated', models.DateTimeField(auto_now=True)), + ('challenges_completed', models.ManyToManyField(related_name='classes_completed', to='main.Challenge')), + ], + ), + ] diff --git a/hunt/apps/main/migrations/0002_alter_class_challenges_completed.py b/hunt/apps/main/migrations/0002_alter_class_challenges_completed.py new file mode 100644 index 0000000..6ebbee0 --- /dev/null +++ b/hunt/apps/main/migrations/0002_alter_class_challenges_completed.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.6 on 2021-08-14 23:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='class', + name='challenges_completed', + field=models.ManyToManyField(blank=True, related_name='classes_completed', to='main.Challenge'), + ), + ] diff --git a/hunt/apps/main/migrations/__init__.py b/hunt/apps/main/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/main/models.py b/hunt/apps/main/models.py new file mode 100644 index 0000000..de21a72 --- /dev/null +++ b/hunt/apps/main/models.py @@ -0,0 +1,34 @@ +from django.db import models +from django.db.models.fields.related import ManyToManyField + + +class Challenge(models.Model): + id = models.AutoField(primary_key=True, null=False, blank=False) + name = models.CharField(max_length=100, null=False, blank=False) + description = models.CharField(max_length=500, null=False, blank=False) + flag = models.CharField(max_length=50, null=False, blank=False) + points = models.IntegerField(null=False, blank=False) + exclusive = models.BooleanField(default=False) + locked = models.BooleanField(default=False) + + def __str__(self): + return "{} ({})".format(self.name, self.id) + +class Class(models.Model): + YEAR_CHOICES = (('2022', 'Seniors'), ('2023', 'Juniors'), ('2024', 'Sophomores'), ('2025', 'Freshmen')) + + id = models.AutoField(primary_key=True, null=False, blank=False) + year = models.CharField(max_length=20, choices=YEAR_CHOICES, null=False, blank=False, unique=True) + challenges_completed = models.ManyToManyField(Challenge, related_name="classes_completed", blank=True) + + last_updated = models.DateTimeField(auto_now=True) + + def __str__(self): + return self.year + + def get_points(self): + sum = 0 + for c in self.challenges_completed.all(): + sum += c.points + return sum + \ No newline at end of file diff --git a/hunt/apps/main/urls.py b/hunt/apps/main/urls.py new file mode 100644 index 0000000..91306a0 --- /dev/null +++ b/hunt/apps/main/urls.py @@ -0,0 +1,11 @@ +from django.urls import path + +from . import views + +app_name = 'main' + +urlpatterns = [ + path("", views.index, name="index"), + path("overview/", views.overview, name="overview"), + path("validate/", views.validate_flag, name="validate_flag"), +] \ No newline at end of file diff --git a/hunt/apps/main/views.py b/hunt/apps/main/views.py new file mode 100644 index 0000000..9cda674 --- /dev/null +++ b/hunt/apps/main/views.py @@ -0,0 +1,56 @@ +from django.contrib.auth.decorators import login_required +from django.core.exceptions import PermissionDenied +from django.http.response import JsonResponse +from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse + +from .models import Challenge, Class + + +@login_required +def index(request): + if request.user.is_participant(): + """ + Challenges fall into one of three statuses with respect to the user: + - available (user can complete) + - completed (completed by users's class) + - locked (can only be completed by one class and has been completed) + """ + challenges_completed_by_class = set(Class.objects.get(year=str(request.user.graduation_year)).challenges_completed.all()) + challenges_dict = dict() + for c in Challenge.objects.all(): + if c in challenges_completed_by_class: + challenges_dict[c.id] = [c, "completed"] + elif c.locked: + challenges_dict[c.id] = [c, "locked"] + else: + challenges_dict[c.id] = [c, "available"] + return render(request, 'main/index.html', context={"challenges_dict": challenges_dict}) + else: + return redirect(reverse("main:overview")) + +@login_required +def overview(request): + data = sorted([(c.year, c.get_points()) for c in Class.objects.all()]) + return render(request, 'main/overview.html', context={'data': data}) + +@login_required +def validate_flag(request): + if request.is_ajax() and request.user.is_participant(): + challenge = get_object_or_404(Challenge, id=int(request.POST.get("challenge_id"))) + flag = request.POST.get("flag") + if flag == challenge.flag: + if not challenge.locked: + request.user.challenges_done.add(challenge) + if challenge.exclusive: + challenge.locked = True + challenge.save() + hoco_class = Class.objects.get(year=str(request.user.graduation_year)) + hoco_class.challenges_completed.add(challenge) + hoco_class.save() + response = {"result": "success"} + else: + response = {"result": "failure"} + return JsonResponse(response) + else: + return PermissionDenied \ No newline at end of file diff --git a/hunt/apps/users/__init__.py b/hunt/apps/users/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/users/admin.py b/hunt/apps/users/admin.py new file mode 100644 index 0000000..5c8f67d --- /dev/null +++ b/hunt/apps/users/admin.py @@ -0,0 +1,8 @@ +from django.contrib import admin + +from .models import Group, User + +# Register your models here. + +admin.site.register(User) +admin.site.register(Group) diff --git a/hunt/apps/users/apps.py b/hunt/apps/users/apps.py new file mode 100644 index 0000000..18779ac --- /dev/null +++ b/hunt/apps/users/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class UserConfig(AppConfig): + name = "hunt.apps.users" + label = "users" diff --git a/hunt/apps/users/migrations/0001_initial.py b/hunt/apps/users/migrations/0001_initial.py new file mode 100644 index 0000000..f9241cf --- /dev/null +++ b/hunt/apps/users/migrations/0001_initial.py @@ -0,0 +1,51 @@ +# Generated by Django 3.2.6 on 2021-08-14 22:22 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import hunt.apps.users.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('main', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='User', + fields=[ + ('password', models.CharField(max_length=128, verbose_name='password')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('id', models.AutoField(primary_key=True, serialize=False)), + ('username', models.CharField(max_length=32, unique=True)), + ('first_name', models.CharField(max_length=35)), + ('last_name', models.CharField(max_length=70)), + ('is_student', models.BooleanField(default=False)), + ('graduation_year', models.IntegerField(null=True)), + ('email', models.EmailField(max_length=50)), + ('is_superuser', models.BooleanField(default=False)), + ('date_joined', models.DateTimeField(auto_now_add=True)), + ('challenges_done', models.ManyToManyField(related_name='users_that_completed', to='main.Challenge')), + ('hoco_class', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='user_set', to='main.class')), + ], + options={ + 'abstract': False, + }, + managers=[ + ('objects', hunt.apps.users.models.UserManager()), + ], + ), + migrations.CreateModel( + name='Group', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('is_service', models.BooleanField(default=False)), + ('name', models.CharField(max_length=32)), + ('users', models.ManyToManyField(related_name='unix_groups', to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/hunt/apps/users/migrations/0002_user_is_staff.py b/hunt/apps/users/migrations/0002_user_is_staff.py new file mode 100644 index 0000000..34cbc27 --- /dev/null +++ b/hunt/apps/users/migrations/0002_user_is_staff.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.6 on 2021-08-14 22:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='is_staff', + field=models.BooleanField(default=False), + ), + ] diff --git a/hunt/apps/users/migrations/0003_auto_20210814_2354.py b/hunt/apps/users/migrations/0003_auto_20210814_2354.py new file mode 100644 index 0000000..11dfaf1 --- /dev/null +++ b/hunt/apps/users/migrations/0003_auto_20210814_2354.py @@ -0,0 +1,22 @@ +# Generated by Django 3.2.6 on 2021-08-14 23:54 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0002_user_is_staff'), + ] + + operations = [ + migrations.RenameField( + model_name='user', + old_name='is_staff', + new_name='_is_staff', + ), + migrations.RemoveField( + model_name='user', + name='hoco_class', + ), + ] diff --git a/hunt/apps/users/migrations/__init__.py b/hunt/apps/users/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hunt/apps/users/models.py b/hunt/apps/users/models.py new file mode 100644 index 0000000..0ed7214 --- /dev/null +++ b/hunt/apps/users/models.py @@ -0,0 +1,86 @@ +import logging + +from django.contrib.auth.models import AbstractBaseUser +from django.contrib.auth.models import UserManager as DjangoUserManager +from django.db import models + +from ..main.models import Challenge, Class + +logger = logging.getLogger(__name__) + + +class UserManager(DjangoUserManager): + pass + + +class User(AbstractBaseUser): + objects = UserManager() + + USERNAME_FIELD = "username" + EMAIL_FIELD = "email" + REQUIRED_FIELDS = ["first_name", "last_name", "is_student", "graduation_year"] + + id = models.AutoField(primary_key=True) + + username = models.CharField(unique=True, max_length=32, null=False, blank=False) + first_name = models.CharField(max_length=35, null=False, blank=False) + last_name = models.CharField(max_length=70, null=False, blank=False) + is_student = models.BooleanField(default=False, null=False) + graduation_year = models.IntegerField(null=True) + email = models.EmailField(max_length=50, null=False, blank=False) + is_superuser = models.BooleanField(default=False, null=False) + _is_staff = models.BooleanField(default=False, null=False) + + challenges_done = models.ManyToManyField(Challenge, related_name="users_that_completed") + + date_joined = models.DateTimeField(auto_now_add=True) + + def has_perm(self, perm, obj=None) -> bool: # pylint: disable=unused-argument + return self.is_superuser + + def has_module_perms(self, app_label) -> bool: # pylint: disable=unused-argument + return self.is_superuser + + @property + def is_staff(self) -> bool: + return self._is_staff or self.is_superuser + + @is_staff.setter + def is_staff(self, staff: bool) -> None: + self._is_staff = staff + + @property + def full_name(self) -> str: + return self.first_name + " " + self.last_name + + @property + def short_name(self) -> str: + return self.first_name + + def get_full_name(self) -> str: + return self.full_name + + def get_short_name(self) -> str: + return self.short_name + + def get_social_auth(self): + return self.social_auth.get(provider="ion") + + def __str__(self): + return self.username + + def __repr__(self): + return "".format(self.username, self.id) + + def is_participant(self): + return self.is_student and not self.is_superuser + + +class Group(models.Model): + id = models.AutoField(primary_key=True) + is_service = models.BooleanField(default=False) + name = models.CharField(max_length=32) + users = models.ManyToManyField(User, related_name="unix_groups") + + def __str__(self): + return self.name diff --git a/hunt/settings/__init__.py b/hunt/settings/__init__.py new file mode 100644 index 0000000..0cecf30 --- /dev/null +++ b/hunt/settings/__init__.py @@ -0,0 +1,177 @@ +""" +Django settings for hunt project. + +Generated by 'django-admin startproject' using Django 3.2.6. + +For more information on this file, see +https://docs.djangoproject.com/en/3.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.2/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-=6^bbhfem^#pl*@w29%mo$z#r5_#2d5-m@9q0&9egz@qtcfbah' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['localhost', '127.0.0.1', 'hunt.sites.tjhsst.edu', 'hunt.tjhsst.edu'] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'social_django', + 'hunt.apps.main', + 'hunt.apps.auth', + 'hunt.apps.users', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'hunt.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [BASE_DIR / 'templates'], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'hunt.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.2/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + +AUTHENTICATION_BACKENDS = ('hunt.apps.auth.oauth.IonOauth2',) + +SOCIAL_AUTH_USER_FIELDS = [ + 'username', + 'first_name', + 'last_name', + 'email', + 'id', + 'is_student', + 'graduation_year', +] + +SOCIAL_AUTH_URL_NAMESPACE = "social" + +SOCIAL_AUTH_PIPELINE = ( + "social_core.pipeline.social_auth.social_details", + "social_core.pipeline.social_auth.social_uid", + "social_core.pipeline.social_auth.auth_allowed", + "social_core.pipeline.social_auth.social_user", + "hunt.apps.auth.oauth.get_username", + "social_core.pipeline.social_auth.associate_by_email", + "social_core.pipeline.user.create_user", + "social_core.pipeline.social_auth.associate_user", + "social_core.pipeline.social_auth.load_extra_data", +) + +AUTH_USER_MODEL = "users.User" + + +# Internationalization +# https://docs.djangoproject.com/en/3.2/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Login +LOGIN_URL = "auth:login" +LOGIN_REDIRECT_URL = "auth:index" +LOGOUT_REDIRECT_URL = "auth:index" + +SESSION_SAVE_EVERY_REQUEST = True + +SOCIAL_AUTH_ALWAYS_ASSOCIATE = True +SOCIAL_AUTH_LOGIN_ERROR_URL = "/" +SOCIAL_AUTH_RAISE_EXCEPTIONS = False + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.2/howto/static-files/ + +STATIC_URL = '/static/' +STATIC_ROOT = BASE_DIR / "serve" +STATICFILES_DIRS = [ + BASE_DIR / "static", +] +# Default primary key field type +# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +try: + from .secret import * # noqa +except ImportError: + pass diff --git a/hunt/settings/secret.sample b/hunt/settings/secret.sample new file mode 100644 index 0000000..3d5f91a --- /dev/null +++ b/hunt/settings/secret.sample @@ -0,0 +1,5 @@ +DEBUG = False +SECRET_KEY = 'supersecret' + +SOCIAL_AUTH_ION_KEY = '' +SOCIAL_AUTH_ION_SECRET = '' \ No newline at end of file diff --git a/hunt/static/css/base.css b/hunt/static/css/base.css new file mode 100644 index 0000000..1830910 --- /dev/null +++ b/hunt/static/css/base.css @@ -0,0 +1,83 @@ +body { + margin: 0px; + font-family: "Open Sans", "Helvetica Neue", sans-serif; + font-size: 15px; + background-color: white; + text-align: center; +} + +.header { + background-color: rgb(24, 82, 103); + text-align: left; + margin: 0px; +} + +.header_img { + width: 50px; + margin-left: 10px; + margin-top: 5px; + padding: 6px; + display: inline-block; + vertical-align: middle; +} + +.header_title { + color:#ffffff; + padding-top: 10px; + font-size: 25px; + display: inline-block; + vertical-align: middle; +} + +.header_nav { + padding: 10px; + color: #ffffff; + font-size: 19px; + text-decoration: none; + display: inline-block; +} + +.header_nav:hover { + text-decoration: none; + color: #a2a2a3; +} + +.dropdown-btn:hover { + text-decoration: none; + color: #a2a2a3; +} + +.drop-item:hover { + text-decoration: none; + color: #a2a2a3; +} + +.drop-item { + font-size: 16px; + padding-top: 5px; + color: #ffffff; +} + +.dropdown-btn { + color: #ffffff; +} + +.dropdown-menu { + padding: 10px; + margin-top: 9px; + background-color:rgba(24, 82, 103, .9); +} + +.nav_section { + text-align: right; +} + +@media screen and (max-width: 48em) { + .header { + text-align: center; + } + + .nav_section { + text-align: center; + } +} \ No newline at end of file diff --git a/hunt/static/css/index.css b/hunt/static/css/index.css new file mode 100644 index 0000000..61e80c5 --- /dev/null +++ b/hunt/static/css/index.css @@ -0,0 +1,24 @@ +.box { + padding: 5px; + margin: 5px; +} + +.available { + background-color: lightgray; +} + +.completed { + background-color: lightgreen; +} + +.locked { + background-color: lightsalmon; +} + +.centered-div { + text-align: center; +} + +.left-div { + text-align: left; +} \ No newline at end of file diff --git a/hunt/static/css/login.css b/hunt/static/css/login.css new file mode 100644 index 0000000..9e0c8ee --- /dev/null +++ b/hunt/static/css/login.css @@ -0,0 +1,43 @@ +.btn.btn-ion { + text-decoration: none; + color: #484848; + display: inline-block; + line-height: 18px; + padding: 7px 10px; + margin: 2px 0; + font-size: 13px; + font-weight: bold; + text-shadow: 0 1px 0 rgba(255,255,255,.9); + white-space: nowrap; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + background: #f7f7f4; + background: -moz-linear-gradient(top,#f7f7f4 0%,#eaeaea 100%); + background: -webkit-linear-gradient(top,#f7f7f4 0%,#eaeaea 100%); + background: linear-gradient(to bottom,#f7f7f4 0%,#eaeaea 100%); + border: 1px solid #ddd; + border-bottom-color: #c5c5c5; + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.05); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,.05); + -pie-box-shadow: none; + box-shadow: 0 1px 3px rgba(0,0,0,.05); + vertical-align: middle; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + -o-appearance: none; + appearance: none; +} + +.login-box { + text-align: center; + padding: 15px; + border: 1px solid rgb(24, 82, 103); + margin: 15px auto; + max-width: 438px; +} \ No newline at end of file diff --git a/hunt/static/css/overview.css b/hunt/static/css/overview.css new file mode 100644 index 0000000..6212c0a --- /dev/null +++ b/hunt/static/css/overview.css @@ -0,0 +1,73 @@ +#hoco-scores { + display: none; + margin: 15px auto; + width: 580px; + text-align: center; + + position: absolute; + left: calc(50% - 290px); + top: 100px; +} + +.box { + display: inline-block; + position: relative; + background-color: #545454; + color: white; + padding: 15px 15px 20px; + margin: 5px; + width: 125px; + height: 125px; + overflow: hidden; +} + +.class { + font-size: 1.5em; +} + +.score { + font-size: 2em; +} + +@media screen and (max-width: 640px) { + .center-wrapper { + margin-top: 40px; + } + #hoco-scores { + width: 284px; + zoom: 0.7; + left: calc(50% - 142px); + } +} + +.corner-ribbon { + width: 95px; + background: #e43; + position: absolute; + top: 5px; + left: -30px; + text-align: center; + line-height: 25px; + letter-spacing: 1px; + color: #f0f0f0; + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); +} + +.gold { + background-color: #C98910; +} + +.silver { + background-color: #A8A8A8; +} + +.bronze { + background-color: #965A38; +} + +@media screen and (max-height: 900px) { + .center { + top: 440px; + } +} diff --git a/hunt/static/img/favicon.png b/hunt/static/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf6281d1906bb61f25d8ee4a72727dd10a4bde3 GIT binary patch literal 168996 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

qiw8^Bz6cQFEIrT8MV)uBK4BTsnkU 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 literal 0 HcmV?d00001 diff --git a/hunt/templates/auth/login.html b/hunt/templates/auth/login.html new file mode 100644 index 0000000..55df01f --- /dev/null +++ b/hunt/templates/auth/login.html @@ -0,0 +1,17 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + +{% endblock %} + +{% block main %} +

+ +

Hoco Hunt 2021

+
+
+{% endblock %} \ No newline at end of file diff --git a/hunt/templates/base.html b/hunt/templates/base.html new file mode 100644 index 0000000..0972ead --- /dev/null +++ b/hunt/templates/base.html @@ -0,0 +1,27 @@ +{% load static %} + + + + + + + + + + Hoco Hunt 2021 + + + + {% block head %}{% endblock %} + + + {% block root %} + {% block main %} + {% endblock %} + {% endblock %} + + diff --git a/hunt/templates/base_with_nav.html b/hunt/templates/base_with_nav.html new file mode 100644 index 0000000..e77fcec --- /dev/null +++ b/hunt/templates/base_with_nav.html @@ -0,0 +1,40 @@ +{% extends 'base.html' %} + +{% load static %} + +{% block root %} +
+
+ +
+ +
+ + + {% block main %}{% endblock %} +
+{% endblock %} \ No newline at end of file diff --git a/hunt/templates/main/index.html b/hunt/templates/main/index.html new file mode 100644 index 0000000..16eda1d --- /dev/null +++ b/hunt/templates/main/index.html @@ -0,0 +1,59 @@ +{% extends 'base_with_nav.html' %} + +{% load static %} + +{% block head %} + + +{% endblock %} + +{% block main %} +
+ {% for challenge, status in challenges_dict.items %} +
+
+
+

{{ status.0.name }}

+

Points: {{ status.0.points }}

+
+
+ {% if status.0.exclusive %} +

This challenge's points are only available to the first class to complete it.

+ {% elif status.1 == 'locked' %} +

This challenge was exclusive and has already been completed by another class.

+ {% endif %} +

{{ status.0.description }}

+
+ {% if status.1 == 'available' %} +
+ + + {% endif %} +
+
+ {% endfor %} +
+{% endblock %} \ No newline at end of file diff --git a/hunt/templates/main/overview.html b/hunt/templates/main/overview.html new file mode 100644 index 0000000..71f5886 --- /dev/null +++ b/hunt/templates/main/overview.html @@ -0,0 +1,67 @@ +{% extends 'base_with_nav.html' %} + +{% load static %} + +{% block head %} + + +{% endblock %} + +{% block main %} +
+
+
{{ data.0.0 }}
+
+
{{ data.0.1 }}
+ points +
+
+
{{ data.1.0 }}
+
+
{{ data.1.1 }}
+ points +
+
+
{{ data.2.0 }}
+
+
{{ data.2.1 }}
+ points +
+
+
{{ data.3.0 }}
+
+
{{ data.3.1 }}
+ points +
+
+{% endblock %} \ No newline at end of file diff --git a/hunt/urls.py b/hunt/urls.py new file mode 100644 index 0000000..a4914fe --- /dev/null +++ b/hunt/urls.py @@ -0,0 +1,9 @@ +from django.contrib import admin +from django.urls import include, path + +urlpatterns = [ + path('admin/', admin.site.urls), + path("", include("social_django.urls", namespace="social")), + path("", include("hunt.apps.auth.urls", namespace="auth")), + path("main/", include("hunt.apps.main.urls", namespace="main")), +] diff --git a/hunt/wsgi.py b/hunt/wsgi.py new file mode 100644 index 0000000..e02a70b --- /dev/null +++ b/hunt/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for hunt project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hunt.settings') + +application = get_wsgi_application() diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..563e834 --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hunt.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main()