Skip to content

arniechops/labs-technical-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontend Challenge Fall '22

This platform allows you to

  1. See all courses
  2. Search courses by name/description/course number
  3. Filter courses by course prerequisites
  4. Add courses to cart
  5. Remove courses from cart
  6. Checkout

Files

  1. App.tsx

All the routes are defined here

  1. AppRoot.tsx

Is the root component for the entire app. Handles top-level functionality and states that children will need access to like the search bar string, tags selected, courses in the cart, etc. Rendered at the / route.

  1. Search.tsx

Allows search and filter. Manages the state of user input, but does not filter results based on it.

  1. Courses.tsx

Filters courses based on user input (state changes from Search.tsx) and renders them in a grid. Filter and Search criteria are both combined to show results. Filtering based on prereqs is a OR relationship - if I select CIS 120, all courses with a prereq of that will show up. If I also select CIS 160, all courses with a prereq of 120 OR 160 will show up.

  1. Course.tsx

Main functionality for each course. Renders basic data about the course based on data from the JSON file, allows add-to-cart functionality. Also navigates user to the cart whenever a new course is added.

  1. PrereqFilter.tsx

Handles rendering and stage management of the dropdown. Stores filter criteria like courses selected in the dropdown but does not filter it - Courses.tsx does that.

  1. DropDownElement.tsx

Renders a dropdown element. Handles clicking and color functionality, updates global state with new tags selected.

  1. Cart.tsx

Handles all courses in the cart. Renders children CartCourse elements.

  1. CartCourse.tsx

Courses currently in the cart. Manages remove from cart functionality.

  1. Checkout.tsx

Page displayed when user checks out, shows courses bought, and a link to go back to the home page.

  1. CheckoutCourse.tsx

Courses currently in checkout.

  1. Nav.tsx

Made no changes to this

  1. ModalComponent.tsx

Handles modal that pops up when Know more is clicked on a course. Shows full description, cross-listed courses and prereqs. Prereqs are bifuracted based on whether its a course or a suggestion - this is done by checking the length of the prereq string.

About

A functional UI that allows people to explore courses.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages