Skip to content

Commit

Permalink
styling, scorebox, api helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
luke-rt committed Oct 13, 2024
1 parent 9898654 commit e7ac873
Show file tree
Hide file tree
Showing 17 changed files with 320 additions and 5,095 deletions.
113 changes: 113 additions & 0 deletions frontend/review-nextjs/app/(header)/about/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
import React from "react";
import Link from "next/link";
import { cn } from "@/lib/utils";
import Image from "next/image";

export default function About() {
return (
<div className={cn("mx-[20%]")}>
<h2>Hey there!</h2>
<p>Welcome to the new Penn Course Review!</p>
<p>
The student-run Penn Course Review has served as a valuable
guide for course selection since the 1960s. In 2014, Penn Course
Review was completely redesigned to simplify the search
experience. In 2018, we updated the site again to continue
providing you with the best insights on courses. In 2021, we
migrated the site over to a shared backend with{" "}
<a
target="_blank"
rel="noopener noreferrer"
href="https://penncoursealert.com/"
>
Penn Course Alert
</a>{" "}
and{" "}
<a
target="_blank"
rel="noopener noreferrer"
href="https://penncourseplan.com/"
>
Penn Course Plan
</a>
, allowing us to serve additional metrics about course
registration difficulty (based on Penn Course Alert usage data
and course status updates). We hope to continue updating and
improving Penn Course Review in the years to come!
</p>

<h2>About</h2>
<p>
Penn Course Review is a student-run service that provides
numerical ratings and metrics for undergraduate courses and
professors at the University of Pennsylvania. PCR has a long
history of being a valuable and influential guide for course
selection.
</p>
<p>
PCR is developed and managed by{" "}
<a
target="_blank"
rel="noopener noreferrer"
href="https://pennlabs.org/"
>
Penn Labs
</a>
, a student developer organization on Penn&apos;s campus.
</p>

<p>
Penn Course Review compiles its information from online course
evaluations conducted at the end of each semester by the
Provost&apos;s office in conjunction with ISC.
</p>
<p>
Your evaluations and comments feed the Review, so the more
information you provide about your courses and professors, the
more comprehensive Penn Course Review will be.
</p>

<p>
If you want to look at courses on the go,{" "}
<a
target="_blank"
rel="noopener noreferrer"
href="https://pennlabs.org/mobile/"
>
PennMobile
</a>{" "}
is available for download! In the courses section, you are able
to view course descriptions and ratings!
</p>
<p>
Interested in building something using the Penn Courses API?
Check our our{" "}
<a
target="_blank"
rel="noopener noreferrer"
href="https://penncoursereview.com/api/documentation/"
>
API documentation
</a>
.
</p>
<p>Thanks and happy searching,</p>
<p>
<strong>Penn Labs</strong>
</p>

<Image
alt="Penn Labs"
src="/static/image/labs.png"
width={100}
height={100}
/>

<h2>Questions</h2>
<p>
If you have any questions, take a look at our{" "}
<Link href="/faq">FAQs</Link> section.
</p>
</div>
);
}
105 changes: 105 additions & 0 deletions frontend/review-nextjs/app/(header)/faq/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
import ScoreBox from "@/components/ScoreBox";
import { Rating } from "@/lib/types";
import { cn } from "@/lib/utils";
export default function FAQ() {
return (
<div id="faqs" className={cn("mx-[20%]")}>
<h2>Frequently Asked Questions</h2>
<div>
<p className="question">How do I use the website?</p>
<p className="answer">
Each professor, course, and department has its own page.
Summary ratings for the recent semester and for all
semesters are provided at the left of each page, with more
detailed rating information provided on the right. You can
choose to view or hide each course rating criteria by
clicking the plus icon on the top of the table. You can also
toggle the view mode of ratings between aggregate and most
recent on the right side of the page. You can hover over the
tags on the left side of the page or the stars on the right
side of the page in order to learn more about courses
offered in the upcoming semester.
</p>
</div>

<div>
<p className="question">What&apos;s new?</p>
<p className="answer">
The site includes new features intended to make PCR&apos;s
content more intuitive and accessible. The new search
function allows students to search by course name, number,
or professor. In addition to the traditional ratings, the
site now offers ratings that average the evaluations from
every semester the course or professor has been reviewed.
Students can choose which information is relevant to them by
selecting which rating criteria appear on the page. As of
fall 2021, PCR now also displays additional metrics to give
students a sense of registration difficulty. See the section
about &quot;Registration Metrics&quot; below for more
information.
</p>
</div>

<div>
<p className="question">How are courses rated?</p>
<p className="answer">
At the end of each semester, the Provost&apos;s office, in
conjunction with ISC, administers Penn&apos;s course
evaluation form, which consists of eleven questions aimed at
assessing the quality of the course and instructor. Each
evaluation question is answered on a scale of Poor to
Excellent. The ratings are translated numerically so that a
rating of 0.00 corresponds a student evaluation of
&quot;Poor,&quot; 1.00 corresponds to an evaluation of
&quot;Fair,&quot; 2.00 to &quot;Good,&quot; 3.00 to
&quot;Very Good,&quot; and 4.00 to &quot;Excellent.&quot;
</p>
</div>

<div>
<p className="question">How often is data updated?</p>
<p className="answer">
Information pertaining to which sections are taught in the
upcoming semester is updated every 24 hours.
</p>
</div>

<div>
<p className="question">What do the colors mean?</p>
<div className="answer">
Here&apos;s a guide to the color coded ratings.
<br />
<br />
<ScoreBox rating={Rating.Bad}>0-2</ScoreBox>
<ScoreBox rating={Rating.Good}>2-3</ScoreBox>
<ScoreBox rating={Rating.Okay}>3-4</ScoreBox>
<br />
<br />
</div>
</div>

<div>
<p className="question">
What are &quot;Registration Metrics&quot;?
</p>
<p className="answer">
As of fall 2021, PCR now also displays additional metrics to
give students a sense of registration difficulty (such as
avg. number of course openings, avg. final enrollment, avg.
percentage of the semester open, percentage of sections
filled in advance registration, and plots of estimated
registration difficulty / percent of historical sections
open over time). Generally, these metrics can give you a
sense of how difficult it will be to register for a course
(which is important for planning out your course
registration). You can view these metrics by clicking the
&quot;Registration Metrics&quot; tab in the left window on
an instructor, department, or course page. For more
information about any specific metric, hover over the
question mark icon next to its name (or for plots, see the
description below the title).
</p>
</div>
</div>
);
}
15 changes: 15 additions & 0 deletions frontend/review-nextjs/app/(header)/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import Header from "@/components/Header";
import { cn } from "@/lib/utils";

export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<>
<Header />
{children}
</>
);
}
98 changes: 0 additions & 98 deletions frontend/review-nextjs/app/about/page.tsx

This file was deleted.

Loading

0 comments on commit e7ac873

Please sign in to comment.