Skip to content

Commit

Permalink
Merge branch 'develop' into 288-bug-handle-null-rmp-data
Browse files Browse the repository at this point in the history
  • Loading branch information
AbhiramTadepalli committed Nov 10, 2024
2 parents 7a09c54 + 47d354f commit a6f273e
Show file tree
Hide file tree
Showing 11 changed files with 306 additions and 192 deletions.
49 changes: 17 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,26 @@
# UTD-Trends
# UTD Trends

_UTD-Trends a data visualization tool built to help students view historical course and section data using the Nebula API_
_Easy access to all the information you need to plan your schedule_

[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)

## About

### Overview

UTD-Trends offers students and faculty an accessible and easily digestible means
of viewing the data stored in the Nebula API. This front-end for the API offers
data visualization tools so that students can view agregated data and make more informed
decisions on their coursework.

### Inspiration

For years the students of UTD have made use of the UTD Grades tool to access
information about their coursework in conjunction with other web applications like
Rate My Professor.

Now Project Nebula hopes to offer students a comprehensive view of course information
all in a single application through Project UTD-Trends. The hope is to offer students an all
in one experience and streamline the data gathering experience of students while providing
better data gathered through UTD specific sources rather than the crowd sourcing of other sites.

UTD-Trends hopes to offer more tooling to students than previously available and build upon the
successes of UTD Grades to enhance the student experience.
UTD Trends offers students and faculty an accessible and easily digestible means
of viewing the data stored in the Nebula API and on Rate My Professors. Providing
data visualization tools so that students can view agregated data and make more
informed decisions on their coursework.

### Features

- Data Visualizations for the Nebula API
- Easy searchability and result filtering
- Section comparison
- Multi-metric evaluations on course performance
- Multiple Sources
- Find grade distributions and Rate My Professors scores for any given class.
- Aggregate
- Powerful query abilities that aggregate grade and Rate My Professors data across several years to give you a more wholistic view.
- Compare
- See data for multiple courses, professors, and categories on a single graph without switching tabs.

## Contributing

Expand All @@ -45,14 +33,11 @@ This project uses the MIT License.
To get started, see the [contribution guide](./CONTRIBUTING.md). It'll tell you
everything you need to know.

Additionally, see the Project Nebula-wide contributors [guide](https://about.utdnebula.com/)
for more info.

Once you're ready to make some changes, see the
[issues](https://github.com/UTDNebula/UTD-Trends/issues) for the repository.
[issues](https://github.com/UTDNebula/utd-trends/issues) for the repository.

If you want to brainstorm, share ideas or ask questions, start a discussion in
the [Discussions](https://github.com/UTDNebula/UTD-Trends/discussions) section.
our [Discord](https://discord.utdnebula.com/) section.

### Set-up

Expand All @@ -61,13 +46,13 @@ installation. To start, clone the repository, and then run `npm run dev` to laun
a local development server at [`localhost:3000`](https://localhost:3000) by default.

```bash
git clone https://github.com/UTDNebula/UTD-Trends.git
cd UTD-Trends
git clone https://github.com/UTDNebula/utd-trends.git
cd utd-Trends
npm install
npm run dev
```

### Contact

This project is maintained by Nebula Labs. If you have
any questions about this project or Nebula Labs, see the [discord server](https://discord.gg/3p4H44zjTt)
any questions about this project or Nebula Labs, see the [discord server](https://discord.utdnebula.com/)
4 changes: 3 additions & 1 deletion src/components/common/Carousel/carousel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { TabNavMenu } from '../../navigation/tabNavMenu/tabNavMenu';
interface CarouselProps {
names: string[] | string;
children: ReactJSXElement[] | ReactJSXElement;
compareLength: number;
}

/**
Expand Down Expand Up @@ -38,7 +39,7 @@ const variants = {
* @param props the props passed from the parent component
* @returns
*/
const Carousel = ({ names, children }: CarouselProps) => {
const Carousel = ({ names, children, compareLength }: CarouselProps) => {
// The card currently being displayed
const [currentCard, setCurrentCard] = useState(0);
// The Direction that the card is moving in
Expand Down Expand Up @@ -74,6 +75,7 @@ const Carousel = ({ names, children }: CarouselProps) => {
value={currentCard}
options={Array.isArray(names) ? names : [names]}
turner={turn}
compareLength={compareLength}
/>
<AnimatePresence>
<div className="p-4 lg:p-6">
Expand Down
10 changes: 9 additions & 1 deletion src/components/common/Compare/compare.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ type CompareProps = {
grades: { [key: string]: GenericFetchedData<GradesType> };
rmp: { [key: string]: GenericFetchedData<RMPInterface> };
removeFromCompare: { (arg0: SearchQuery): void };
colorMap: { [key: string]: string };
};

function convertNumbersToPercents(distribution: GradesType): number[] {
Expand All @@ -24,7 +25,13 @@ function convertNumbersToPercents(distribution: GradesType): number[] {
);
}

const Compare = ({ courses, grades, rmp, removeFromCompare }: CompareProps) => {
const Compare = ({
courses,
grades,
rmp,
removeFromCompare,
colorMap,
}: CompareProps) => {
if (courses.length === 0) {
return <p>Click a checkbox to add something to compare.</p>;
}
Expand Down Expand Up @@ -90,6 +97,7 @@ const Compare = ({ courses, grades, rmp, removeFromCompare }: CompareProps) => {
grades={grades}
rmp={rmp}
removeFromCompare={removeFromCompare}
colorMap={colorMap}
/>
</div>
);
Expand Down
Loading

0 comments on commit a6f273e

Please sign in to comment.