Project Info
This project did not submit a demo video on Devpost.
Inspiration
We are a group of third-year computer science and engineering students trying to find our most optimal schedule with factors like early/late graduation, quarterly workload, and elective/concentration interests. We wanted to make this process a lot easier for those who come after us and provide a service that can develop the optimal schedule with various factors such as quarterly workload, choice of electives, the difficulty of individual courses, and quarters offered for courses.
What it does
The main algorithm for finding optimal schedules is the directional graph with nodes featuring a unique class (as an object with properties such as professors, credits, department, and course number). The algorithm keeps in mind the user's preference of preferred workload range of hours per week, preferred course unit range per quarter, and prerequisites of every class. As the algorithm traverses through the graph, the algorithm will find an ideal set of classes for a quarter append it, and move forward to the next quarter.
How we built it
Attached is our architecture: link We split the tasks as evenly as we could, giving each team member an equal share of work. We then researched and planned our individual tasks out and after we each had our own finished projects we combined them into a finished final project.
Challenges we ran into
A major challenge for us was getting accurate course information to input into the algorithm we built. We attempted to web-scrape the course catalog to get all the necessary course information, but the way the course catalog was developed made it extremely challenging to do so. We ended up having to manually input course information, but hopefully, in the future, we'd love to work with UCSC to automate that process entirely.
Accomplishments we're proud of
Creating the algorithm for the project was a very difficult and complex task, as we had to design a custom algorithm from the ground up. We implemented a directed polytree and then took elements from BFS to make our own custom search algorithm.
What we learned
Making projects that work on a large scale such as the one we created, can be very difficult because of the need to connect different working parts. Having all team members be on the same page about what their code should do is essential for making all these small parts come together
What's next
As stated previously, we want to work with UCSC to automate the class selection process so we can make our web service accessible to all majors. Furthermore, the project is far from perfect, there are plenty of tweaks to pre-existing features as well as new features to add. We want to add more features to avoid class conflicts, Design Document link
Analysis
View
Metric
- 26
- 20
- 12
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- FlaskClaimed
- Node.jsClaimed
5 of 7 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
73 KB
Source files
36
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
AndyKuz/Slug-Adviser
55 files · 1.1 MB · @ 25c3147
Structure
Interface
17 files · 31%Screens, components and styles rendered to the user.
Application logic
18 files · 33%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python53%
- JavaScript38%
- Markdown5%
- HTML3%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
slugadvisorfrontend/package.json
npm · 13- @emotion/react
- @emotion/styled
- @mui/material
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- bootstrap
- react
- react-bootstrap
- react-dom
- react-scripts
- react-select
- web-vitals
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.