by team Inference
Course-Compass is a webpage for interacting with the kth courses via the kth api. It allows for searching and filtering through all active courses.
Running this project locally can be done via docker or by building and running it with npm.
Executing
docker compose upor
docker-compose upbuilds and starts the container.
After downloading the repository navigate to the folder my-app and install the dependencies with
npm ciThe website can run for developers with
npm run devfor production use
npm run buildThe project uses the Modelβviewβpresenter (MVP) paradime. The view displays the data. The presenter contains the logic. The model contains the data.
.
βββ docker-compose.yml
βββ Dockerfile
βββ docs
βΒ Β βββ _config.yml
βΒ Β βββ index.md
βββ my-app
βΒ Β βββ dist
βΒ Β βΒ Β βββ assets
βΒ Β βΒ Β βΒ Β βββ index-BNDm07oX.js
βΒ Β βΒ Β βΒ Β βββ index-Bwi9_b9d.css
βΒ Β βΒ Β βΒ Β βββ pdf.worker-CKnUz2wA.mjs
βΒ Β βΒ Β βΒ Β βββ project_icon-CgaTQWFX.png
βΒ Β βΒ Β βββ index.html
βΒ Β βββ eslint.config.js
βΒ Β βββ firebase.js
βΒ Β βββ firebase.json
βΒ Β βββ firebaseModel.js
βΒ Β βββ index.html
βΒ Β βββ package.json
βΒ Β βββ package-lock.json
βΒ Β βββ postcss.config.js
βΒ Β βββ public
βΒ Β βΒ Β βββ favicons-dark
βΒ Β βΒ Β βΒ Β βββ android-chrome-192x192.png
βΒ Β βΒ Β βΒ Β βββ android-chrome-512x512.png
βΒ Β βΒ Β βΒ Β βββ apple-touch-icon.png
βΒ Β βΒ Β βΒ Β βββ favicon-16x16.png
βΒ Β βΒ Β βΒ Β βββ favicon-32x32.png
βΒ Β βΒ Β βΒ Β βββ favicon.ico
βΒ Β βΒ Β βΒ Β βββ site.webmanifest
βΒ Β βΒ Β βββ favicons-light
βΒ Β βΒ Β βββ android-chrome-192x192.png
βΒ Β βΒ Β βββ android-chrome-512x512.png
βΒ Β βΒ Β βββ apple-touch-icon.png
βΒ Β βΒ Β βββ favicon-16x16.png
βΒ Β βΒ Β βββ favicon-32x32.png
βΒ Β βΒ Β βββ favicon.ico
βΒ Β βΒ Β βββ site.webmanifest
βΒ Β βββ src
βΒ Β βΒ Β βββ assets
βΒ Β βΒ Β βΒ Β βββ example.json
βΒ Β βΒ Β βΒ Β βββ project_icon1.png
βΒ Β βΒ Β βΒ Β βββ project_icon.png
βΒ Β βΒ Β βΒ Β βββ share_icon.png
βΒ Β βΒ Β βββ dev
βΒ Β βΒ Β βΒ Β βββ index.js
βΒ Β βΒ Β βΒ Β βββ palette.jsx
βΒ Β βΒ Β βΒ Β βββ previews.jsx
βΒ Β βΒ Β βΒ Β βββ README.md
βΒ Β βΒ Β βΒ Β βββ useInitial.js
βΒ Β βΒ Β βββ index.jsx
βΒ Β βΒ Β βββ model.js
βΒ Β βΒ Β βββ pages
βΒ Β βΒ Β βΒ Β βββ App.jsx
βΒ Β βΒ Β βΒ Β βββ SharedView.jsx
βΒ Β βΒ Β βββ presenters
βΒ Β βΒ Β βΒ Β βββ AddToDB.jsx
βΒ Β βΒ Β βΒ Β βββ FilterPresenter.jsx
βΒ Β βΒ Β βΒ Β βββ ListViewPresenter.jsx
βΒ Β βΒ Β βΒ Β βββ PrerequisitePresenter.jsx
βΒ Β βΒ Β βΒ Β βββ ReviewPresenter.jsx
βΒ Β βΒ Β βΒ Β βββ SearchbarPresenter.jsx
βΒ Β βΒ Β βΒ Β βββ SidebarPresenter.jsx
βΒ Β βΒ Β βΒ Β βββ Tests
βΒ Β βΒ Β βΒ Β βΒ Β βββ AddToDB.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ AllCoursesPresenter.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ JsonToDatabase.jsx
βΒ Β βΒ Β βΒ Β βββ UploadTranscriptPresenter.jsx
βΒ Β βΒ Β βββ scripts
βΒ Β βΒ Β βΒ Β βββ eligibility_refined.js
βΒ Β βΒ Β βΒ Β βββ transcript-scraper
βΒ Β βΒ Β βΒ Β βββ transcript-gpt.html
βΒ Β βΒ Β βΒ Β βββ transcript-scraper-htmlTester.html
βΒ Β βΒ Β βΒ Β βββ transcript-scraper.mjs
βΒ Β βΒ Β βββ styles.css
βΒ Β βΒ Β βββ views
βΒ Β βΒ Β βββ Components
βΒ Β βΒ Β βΒ Β βββ CoursePagePopup.jsx
βΒ Β βΒ Β βΒ Β βββ CourseViewComponents
βΒ Β βΒ Β βΒ Β βΒ Β βββ ModalComponent.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SampleComponent.jsx
βΒ Β βΒ Β βΒ Β βββ FavouriteDropdown.jsx
βΒ Β βΒ Β βΒ Β βββ PrerequisiteTreeComponents
βΒ Β βΒ Β βΒ Β βΒ Β βββ BoxTest.jsx
βΒ Β βΒ Β βΒ Β βββ RatingComponent.jsx
βΒ Β βΒ Β βΒ Β βββ SideBarComponents
βΒ Β βΒ Β βΒ Β βΒ Β βββ ButtonGroupField.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ButtonGroupFullComponent.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ CollapsibleCheckboxes.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ CourseTranscriptList.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ DropDownField.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ FilterEnableCheckbox.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SliderField.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ToggleField.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ToolTip.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ UploadField.jsx
βΒ Β βΒ Β βΒ Β βββ StarComponent.jsx
βΒ Β βΒ Β βββ ListView.jsx
βΒ Β βΒ Β βββ PrerequisiteTreeView.jsx
βΒ Β βΒ Β βββ ReviewView.jsx
βΒ Β βΒ Β βββ SearchbarView.jsx
βΒ Β βΒ Β βββ SidebarView.jsx
βΒ Β βΒ Β βββ TestAllCoursesView.jsx
βΒ Β βΒ Β βββ TestWithButtonView.jsx
βΒ Β βββ tailwind.config.js
βΒ Β βββ vite.config.js
βββ README.md
21 directories, 87 files
The docs branch contains the team website.
The kth-api contains most of the tools used for gathering and processing the course info.