Project Info
This project did not submit a demo video on Devpost.
Inspiration
As a new quarter approaches, many students have to look through several websites to decide which classes they want to take, starting from UCSC Class search, Catalogue, Rate My Professor, My Scheduler (and sometimes even Reddit!). SlugQuest provides a platform for such students to understand their course requirements, plan their quarters, and get the best fully online advice available.
What it does
SlugQuest requires an input of your most recent unofficial transcript, through which it analyzes which course you can take next quarter, according to prerequisites, scheduling, and professor rating. This output is put into words by our very one "Samuel the Advisor", and visually represented by an interactive flowchart on our website.
How we built it
To build this Web app, we used the following data Data Obtaining We webscraped several websites, including Rate My Professor, Class Search, and the schedule for the next few quarters, using Beautiful Soup and Selenium Python libraries. We ask the user to upload their transcript to gain better insights into the courses they have completed, how many credits they have earned, and more personalised insights into their academic journey. ### Data processing Using the transcript, we understand which courses the user has taken, through which we determine the future courses the user has met the prerequisites for. The courses that the user is eligible to take are then filtered based on whether they are available next quarter or not. Then the code looks at the professors teaching the courses next quarter using the data obtained by scraping the UCSC Course Schedule. The list of professors obtained is then used to scrape their Rate My Professor rating. ### LLM Processing Then all of this data is sent to Gemini using an API Call to give it 'large context' on the conversation and role that's about to play for the user.
Challenges we ran into
RMP WebScraping: Beautiful Soup was not able to scrape the RMP data, and even after switching to the Selenium Python library, it took a while to get the code going. Requirements Database: UCSC does not have a real requirements or classes database, so we had to manually type in the requirements for each class.
Accomplishments we're proud of
The UI Graphics: We are very proud of how our graphics for SlugQuest came out, representing a mix of Stardew Valley and Minecraft RMP WebScrapper: Rate My Professor has a complex HTML and JS interface, so it was a challenge to webscrape the website. Developing a fully operational LLM Chatbot that reads documents: "Samuel the Advisor" understands your academic standing and advises you ahead.
What we learned
Through this project, we learnt many skills, including: Better Web scraping skills Making proper API Calls Giving a Larger context through an API call Understanding which data would be relevant and controlling the data that goes to Gemini
What's next
The following are some of the features we would have loved to implement if we had more time: 4-year planner with drag-and-drop with credits chart Database for faster scraping Make it for more majors GE Tracker Interest-based 4-year plan developer A more robust LLM Model that helps edit the schedule GPA Calculator More graphics to gamify it better: Progress bars, characters, interactive blocks for classes Making the website mobile-friendly
Analysis
View
Metric
- 11
- 9
- 2
- 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
- Tailwind CSSIn code
- DjangoClaimed
- Google GeminiClaimed
6 of 8 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
105 KB
Source files
53
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Brightonca/SlugQuest
91 files · 13.1 MB · @ dbb313b
Structure
Interface
8 files · 9%Screens, components and styles rendered to the user.
Application logic
43 files · 47%Domain rules, services and shared utilities.
+1 moreData & schema
3 files · 3%Schema definitions, migrations and data access.
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
- Python71%
- HTML16%
- JavaScript7%
- Markdown3%
- CSS2%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
slugquest-react/package.json
npm · 10- @testing-library/dom
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- react
- react-dom
- react-router-dom
- react-scripts
- web-vitals
- +1 more
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.