Inspiration

It is time to register for summer courses in colleges, and many schools provide web apps for their students to easily search & enroll. The idea is to clone the functionality of those web apps from schools but with custom set of courses (curriculum).

What it does

This web application shows the permutation of course schedules given

  • List of all available courses and their time slots (in JSON format)
  • List of desired course names (in semicolon separated format)

How I built it

This project is a single page application without any server-client communication. The algorithm to parse user-input and calculate permutations all resides on the front-end.

Express.js only serves static files (HTML & CSS) and javascript files compiled by webpack and typescript.

Result rendering is done in vanilla.js + HTML + CSS. A simple css grid-layout for each time-table.

Challenges I ran into

  • Donghyeon Kim: Writing styles for the generated time-tables took a long time.
  • Taehyeon Kim: It was my first time using typescript and its tools.

Accomplishments that I'm proud of

The permutation function and all other data structure manipulating functions are unit-tested fairly well. The team is proud about how we could build well-tested code-base in a very short period of time.

What I learned

  • Donghyeon Kim: I learned about css-grid-layout and how to use it.
  • Taehyeon Kim: I learned how to use typescript programming language and its compiler.

What's next for Damp Sky Course Schedule Viewer

The course schedule managers that inspired my team had more advanced functionality like sorting schedules in different priorities (e.g. morning class preference, most time off campus, most days off campus, etc.). It would be fun to implement such functionality in this project in the future.

Built With

Share this project:

Updates