Scraper-based scheduling website to allow students to plot out classes with dates and times and export recurring classes as an iCalendar file.
For machines with Visual Studio Code installed, a devcontainer configuration is included to automatically set up a Docker-based development environment with just a couple clicks. At this time the container is not hosted in a registry, so you'll have to clone the repo and build the container yourself.
- Visual Studio Code
- VS Code Remote-Containers extension
- Docker (Docker Desktop with WSL2 on Windows 10+, Docker Desktop on macOS,
docker.io
package on Linux-based systems)
-
Clone the repo
git clone https://github.com/swat-sccs/scheduler.git
-
Launch VS Code in the
scheduler/
directorycode ./scheduler/
-
Select "Reopen in Container" in the popup at the botttom right
Those without VS Code installed will have to clone the repo and edit files natively instead of in a container unless another way of building the Dockerfile in a usable way is discovered (feel free to edit the config later as long as you don't break anything).
- Node.js 16
npm
8.x.x (preferred latest for Node.js 16, recommended to usenvm
)
-
Clone and enter the repo
git clone https://github.com/swat-sccs/scheduler.git && cd scheduler
-
Install
npm
packagesnpm install
-
Install required Webpack utilities globally
# May require sudo/elevated permissions to install--nvm should mitigate this by default npm install -g webpack npm install -g webpack-cli npm install -g webpack-dev-server
Several npm
scripts are included for your convenience:
npm run build # Builds for production
npm start # Run development instance
If you get an error running one of these scripts, it's probably due to a missing or broken dependency. As per standard with npm
-based projects, fix this with one of the following:
npm install <missing-dep> # Installs a missing dependency
npm install -g <missing-global-dep> # Installs a missing global-required dependency
npm update # Updates packages (or just kinda doesn't)
npm audit fix # Supposedly fixes broken packages
npm audit fix --force # Actually fixes broken packages but often breaks
# more in the process
(c) 2016-2023 Swarthmore College Computer Society Licensed under the MIT license, as indicated in the LICENSE file 3rd-party content licenses can be found in the third-party LICENSE file