Project Info
This project did not submit a demo video on Devpost.
Inspiration
Some of our team members have had reasons for taking classes outside of UCSC and to transfer them over. These reasons can range from financial reasons to scheduling conflicts, and making sure that each course will articulate can often be a pain. Tools like link make finding articulation agreements easy, however only for comparing degree programs. If only something like that existed to browse for a given course equivalency instead...
What it does
SlugCredits provides an intuitive interface to search for any course equivalency for a UCSC course shown on ASSIST.org. Search for a UCSC course with drop-down menus for a UCSC department and course number, and SlugCredits will return a list of every course offered by the California Community College system that has course equivalency to the given UCSC course.
How we built it
We housed our frontend in a classic HTML/CSS interface, brought to life with JavaScript. Our frontend interacts with a SQLite database built with a variety of scripts in several programming languages that provides the information on course equivalencies. Data was scraped using Node's headless web client puppeteer, collecting dynamically loaded course data to be parsed for our database.
Challenges we ran into
Despite having various skills from past classes or hackathons, our idea pretty much threw our entire team into unexplored areas. Jasmine and Shreya tackled UI, frontend, and database integration (all new skills), while Kevin and Akash explored JavaScript, TypeScript, and databases for the first time. We also had to make some cuts on the technologies we used, such as struggles with MongoDB causing us to have to switch our database of choice halfway through the competition.
Accomplishments we're proud of
All four of us learned a whole new programming language and how to work with a SQLite database, a feat we all feel proud of for spending under 24 hours of working time on this project. This is also the first time any of us are building a full stack application,
What we learned
We learned what it takes to pull together a full stack application. The interaction of frontend, backend, and databases is something completely new to all of us. For instance, Akash learned not only how to program in JavaScript/TypeScript, but web scraping with headless clients (Node.js' puppeteer package) as well.
What's next
This is a project that earlier could have had a lot of personal utility to members of this team, so it's something we care about greatly. Next steps for SlugCredits involve sprucing up the UI and user experience to feel like a fully polished application, moving to a full web application with React, and eventually dynamically generating the database with current data from ASSIST as it changes.
SlugCredits
Welcome to your solution for finding the perfect alternative to a UCSC course.
This is a non-profit tool based on scraped data from link to find all course equivalencies to any UCSC course listed on ASSIST.
Analysis
View
Metric
- 12
- 5
- 3
- 1
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
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- MongoDBIn code
- PHPIn code
- PythonIn code
- TypeScriptIn code
8 of 8 appear in the indexed code.
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
29 KB
Source files
12
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
akash-pandit/CruzHacks24
133 files · 5.2 MB · @ 583732c
Structure
Interface
5 files · 4%Screens, components and styles rendered to the user.
API & routing
3 files · 2%Request entry points: routes, handlers and controllers.
Application logic
121 files · 91%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
- HTML34%
- TypeScript24%
- CSS22%
- Python16%
- JavaScript2%
- PHP1%
- Other (1)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
server/package.json
npm · 5- cors
- dotenv
- express
- mongodb
- sqlite3
package.json
npm · 1- sqlite3
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.