Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mbund/cdr
OSU course dependency visualizer
https://github.com/mbund/cdr
astro course dependencies graph osu parser typescript visualization
Last synced: 26 days ago
JSON representation
OSU course dependency visualizer
- Host: GitHub
- URL: https://github.com/mbund/cdr
- Owner: mbund
- License: gpl-3.0
- Created: 2023-03-17T01:54:21.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-25T04:09:03.000Z (11 months ago)
- Last Synced: 2024-11-12T10:23:37.803Z (3 months ago)
- Topics: astro, course, dependencies, graph, osu, parser, typescript, visualization
- Language: TypeScript
- Homepage: https://cdr.mbund.dev/
- Size: 2.66 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## OSU course dependency visualizer
![Screenshot of the dependency graph](docs/screenshot.png)
Visit https://cdr.mbund.dev to view the dependency graph of every class offered at OSU. It might take ~30 seconds to build the full graph.
Filter the graph with comma separated query parameters specifying subject IDs:
- All classes except those in the Music department
- https://cdr.mbund.dev?exclude=MUSIC
- All classes except those in the English, Biology, and Psychology departments
- https://cdr.mbund.dev?exclude=ENGLISH,BIOLOGY,PSYCH
- Only classes in the Math department
- https://cdr.mbund.dev?include=MATH
- Only classes in the CSE, Math, Physics and Statistics departments
- https://cdr.mbund.dev?include=CSE,PHYSICS,MATH,STAT### Running
```
pnpm astro dev
```### Maintaining
#### Fetch the latest data from the OSU course catalog
1. In a browser sign in to [buckeyelink](https://buckeyelink.osu.edu)
2. Navigate to Schedule Planner
3. Inspect network traffic in the browser and take the cookie from a request header
- Cookie format: `Cookie: __RequestVerificationToken=AAAAAA; .AspNet.Cookies=BBBBBBBBBBBBBBBB`
4. Put the cookie in `.env` as `COOKIE`
- Example: `COOKIE="__RequestVerificationToken=AAAAAA; .AspNet.Cookies=BBBBBBBBBBBBBBBB"`
5. Run the fetcher with `bun fetcher.ts`
6. Run the parser with `bun parser.ts`
7. Organize data by placing the created JSON into a reasonable folder
8. Commit the changes