Skip to content

Commit

Permalink
docs: add project hierarchy info
Browse files Browse the repository at this point in the history
And remove outdated info about course API
  • Loading branch information
jinh0 authored Dec 1, 2022
1 parent 3b658c8 commit 16ba495
Showing 1 changed file with 19 additions and 51 deletions.
70 changes: 19 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Contributing

`node` version: 18.12.1; `npm` rather than `yarn`.
`node` version: 18.12.1; we use `npm` instead of `yarn`.

When you first clone the repository, you have to install all the dependencies.
```
Expand All @@ -18,64 +18,32 @@ npm run dev

Commit messages follow the [conventional commits standard](https://www.conventionalcommits.org/en/v1.0.0/). [Helpful info](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13).

## Libraries Used
## Tech Stack

Tech stack: React, Next.js, TailwindCSS, Firebase
Main libraries: React, Next.js, Firebase, TailwindCSS

- Search is powered by [fuse.js](https://fusejs.io).
- We use the [react-firebase-hooks](https://github.com/CSFrequency/react-firebase-hooks) library to simplify working with Firebase in React.
- React Query for general fetching data
- Styling is done with the best CSS library [TailwindCSS](https://tailwindcss.com).

## Project Hierarchy

```
/components: Components
/pages: Pages
└── /api/courses: Search algorithm API
├── /index.tsx: Homepage
├── /courses/[code].tsx: Individual course page
└── /api/courses: Course search algorithm API
/components: Components
├── /course: Components for the course page
├── /home: Components for the home page
└── /user: Components for the user page
/webscraper: Webscrapers for eCalendar, VSB, etc.
/utils: General utility functions for the front-end
/typing: TypeScript types
/hooks: React hooks
/contexts: React contexts
```
## Course to Test:
- Math-314

- Math-133

- Math-140

- Acct-699

- Cprl-610

- Dent-101J2

- Comp-204

- Bio-112

- Wcom-333

- Phil-375


## Course API:

Every course should look like this:
```json
{
"code": "COMP 330",
"name": "Theory of Computation",
"description": "This course covers the theory of computation, including finite automata, regular expressions, context-free grammars, pushdown automata, and Turing machines.",
"prerequisites": [
"COMP 251"
],
"extra": ["Extra information goes here"],
"terms": [
{
"term": "fall",
"instructors": ["Prakash Panangaden"]
},
{
"term": "winter",
"instructors": ["Claude Crepeau"]
}
]
}
```
## Good Courses to Test On
- Math-314, Math-133, Math-140, Acct-699, Cprl-610, Dent-101J2, Comp-204, Biol-112, Wcom-333, Phil-375

1 comment on commit 16ba495

@vercel
Copy link

@vercel vercel bot commented on 16ba495 Dec 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.