Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

readme update test1 #160

Merged
merged 1 commit into from
Sep 28, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 29 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,73 @@
# CMU Courses


CMU Courses (AKA ScottyLabs Course Tool) is a web application designed to aid students at Carnegie Mellon University in
browsing courses, including information about course evaluations and schedules. It is actively maintained
by [ScottyLabs](https://scottylabs.org).


This is the second iteration of the Course Tool. The second version is a rewrite of the frontend and backend, with the
inclusion of new features (currently a work-in-progress) such as:


- Search
- Filters
- Professor Search
- Schedule Creation


This new version is currently deployed at [cmucourses.com](https://cmucourses.com). This project is currently undergoing
development, so expect large changes to the codebase and features to be unstable.


## Getting Started

To get started, run `npm install && npm run db-generate` in the root folder, and obtain a copy of the `.env` file. (You can use `.env.template` as a reference.)

### Frontend
To get started, create a codespace from the github repository, then open it in VScode.

Navigate to the terminal and install bun by running the following commands:


curl -fsSL https://bun.sh/install | bash
source /home/codespace/.bashrc
bun install
bun run dev


To run the frontend in development mode:
Create a .env file in your root directory, and add the following line to the file:
NEXT_PUBLIC_BACKEND_URL="http://localhost:3000"

```shell
cd frontend
npm run dev
```

This runs the frontend at `http://localhost:3010`. It also watches for changes and reloads when a file is saved.
If course descriptions are not loading, set the public backend url to the local address of the 3000 port. (Make sure that the URL does not have the trailing backslash.)

To build and deploy the frontend, instead run:

```shell
npm run build
npm run start
```
Ensure both 3000 and 3010 ports are set to public visibility.

### Backend

To run the backend in development mode:
### Running local build

```shell
cd backend
npm run dev
```

The backend should now be serving requests at `http://localhost:3000`.
Preview the local version of the code by right clicking on the 3010 port and view CMUcourses on your browser.


To deploy the backend, run

```shell
npm run start
```

### Scrapers


More information about the scrapers used to collect the data may be found
at [this repo](https://github.com/ScottyLabs/course-scraper/).


## Technologies


The Course Tool is built with several technologies.


- The frontend is built using NextJS and React, Redux, Typescript and TailwindCSS.
- The backend uses Express, MongoDB and JS.
- The scrapers are written in JS.



Loading