├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md └── workflows │ ├── ci.yml │ ├── codeql-analysis.yml │ └── python-app.yml ├── .gitignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── conftest.py ├── coursecake ├── __init__.py ├── config.py ├── database │ ├── __init__.py │ ├── crud.py │ ├── models.py │ ├── sql.py │ ├── tests │ │ ├── __init__.py │ │ ├── test_crud.py │ │ └── test_uploads.py │ └── uploads.py ├── fastapi_app │ ├── __init__.py │ ├── api_v1 │ │ ├── __init__.py │ │ ├── admin │ │ │ ├── __init__.py │ │ │ ├── routes.py │ │ │ └── utils.py │ │ ├── classes │ │ │ ├── __init__.py │ │ │ ├── routes.py │ │ │ └── utils.py │ │ ├── courses │ │ │ ├── __init__.py │ │ │ ├── routes.py │ │ │ └── utils.py │ │ ├── schemas.py │ │ └── structs.py │ ├── graphql │ │ ├── __init__.py │ │ └── schemas.py │ ├── limiter.py │ ├── main.py │ └── tests │ │ ├── __init__.py │ │ ├── test_courses_and_classes.py │ │ └── test_home.py └── scrapers │ ├── __init__.py │ ├── calpoly │ ├── __init__.py │ ├── calpoly_scraper.py │ └── constants.py │ ├── course.py │ ├── course_class.py │ ├── course_scraper.py │ ├── prerequisite.py │ ├── scraper.py │ ├── tests │ ├── __init__.py │ ├── test_calpoly.py │ ├── test_class_and_course.py │ ├── test_uci.py │ └── test_ucsc.py │ ├── uci │ ├── __init__.py │ ├── scrape_requisites.py │ ├── scraperows.py │ ├── uci_class.py │ └── uci_scraper.py │ ├── ucsc │ ├── __init__.py │ ├── constants.py │ └── ucsc_scraper.py │ ├── universities.json │ └── universities.py ├── docs ├── CNAME ├── Database.md ├── GraphQL.md ├── README.md ├── REST-API.md ├── Scrapers.md ├── _config.yml ├── _data │ └── navigation.yml ├── _layouts │ └── default.html └── images │ ├── coursecake_header.png │ └── favicon.png ├── mkdocs.yml └── requirements.txt /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/python-app.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/.github/workflows/python-app.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/.travis.yml -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/LICENSE -------------------------------------------------------------------------------- /conftest.py: -------------------------------------------------------------------------------- 1 | # for pytest 2 | -------------------------------------------------------------------------------- /coursecake/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for coursecake (top level) 2 | -------------------------------------------------------------------------------- /coursecake/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/config.py -------------------------------------------------------------------------------- /coursecake/database/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/database/crud.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/database/crud.py -------------------------------------------------------------------------------- /coursecake/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/database/models.py -------------------------------------------------------------------------------- /coursecake/database/sql.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/database/sql.py -------------------------------------------------------------------------------- /coursecake/database/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/database/tests/test_crud.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/database/tests/test_crud.py -------------------------------------------------------------------------------- /coursecake/database/tests/test_uploads.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/database/tests/test_uploads.py -------------------------------------------------------------------------------- /coursecake/database/uploads.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/database/uploads.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for fastapi_app 2 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for api_v1 2 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/admin/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/admin/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/admin/routes.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/admin/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/admin/utils.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/classes/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for courses 2 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/classes/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/classes/routes.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/classes/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/classes/utils.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/courses/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for courses 2 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/courses/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/courses/routes.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/courses/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/courses/utils.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/schemas.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/api_v1/structs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/api_v1/structs.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/graphql/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/graphql/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/graphql/schemas.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/limiter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/limiter.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/main.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for fastapi-app.tests 2 | -------------------------------------------------------------------------------- /coursecake/fastapi_app/tests/test_courses_and_classes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/tests/test_courses_and_classes.py -------------------------------------------------------------------------------- /coursecake/fastapi_app/tests/test_home.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/fastapi_app/tests/test_home.py -------------------------------------------------------------------------------- /coursecake/scrapers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/scrapers/calpoly/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/scrapers/calpoly/calpoly_scraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/calpoly/calpoly_scraper.py -------------------------------------------------------------------------------- /coursecake/scrapers/calpoly/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/calpoly/constants.py -------------------------------------------------------------------------------- /coursecake/scrapers/course.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/course.py -------------------------------------------------------------------------------- /coursecake/scrapers/course_class.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/course_class.py -------------------------------------------------------------------------------- /coursecake/scrapers/course_scraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/course_scraper.py -------------------------------------------------------------------------------- /coursecake/scrapers/prerequisite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/prerequisite.py -------------------------------------------------------------------------------- /coursecake/scrapers/scraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/scraper.py -------------------------------------------------------------------------------- /coursecake/scrapers/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/scrapers/tests/test_calpoly.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/tests/test_calpoly.py -------------------------------------------------------------------------------- /coursecake/scrapers/tests/test_class_and_course.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/tests/test_class_and_course.py -------------------------------------------------------------------------------- /coursecake/scrapers/tests/test_uci.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/tests/test_uci.py -------------------------------------------------------------------------------- /coursecake/scrapers/tests/test_ucsc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/tests/test_ucsc.py -------------------------------------------------------------------------------- /coursecake/scrapers/uci/__init__.py: -------------------------------------------------------------------------------- 1 | # packaging for ucirvine 2 | -------------------------------------------------------------------------------- /coursecake/scrapers/uci/scrape_requisites.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/uci/scrape_requisites.py -------------------------------------------------------------------------------- /coursecake/scrapers/uci/scraperows.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/uci/scraperows.py -------------------------------------------------------------------------------- /coursecake/scrapers/uci/uci_class.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/uci/uci_class.py -------------------------------------------------------------------------------- /coursecake/scrapers/uci/uci_scraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/uci/uci_scraper.py -------------------------------------------------------------------------------- /coursecake/scrapers/ucsc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /coursecake/scrapers/ucsc/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/ucsc/constants.py -------------------------------------------------------------------------------- /coursecake/scrapers/ucsc/ucsc_scraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/ucsc/ucsc_scraper.py -------------------------------------------------------------------------------- /coursecake/scrapers/universities.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/universities.json -------------------------------------------------------------------------------- /coursecake/scrapers/universities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/coursecake/scrapers/universities.py -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | docs.coursecake.tisuela.com -------------------------------------------------------------------------------- /docs/Database.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/Database.md -------------------------------------------------------------------------------- /docs/GraphQL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/GraphQL.md -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/REST-API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/REST-API.md -------------------------------------------------------------------------------- /docs/Scrapers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/Scrapers.md -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/_config.yml -------------------------------------------------------------------------------- /docs/_data/navigation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/_data/navigation.yml -------------------------------------------------------------------------------- /docs/_layouts/default.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/_layouts/default.html -------------------------------------------------------------------------------- /docs/images/coursecake_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/images/coursecake_header.png -------------------------------------------------------------------------------- /docs/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/docs/images/favicon.png -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tisuela/CourseCake/HEAD/requirements.txt --------------------------------------------------------------------------------