Skip to content

Commit

Permalink
Filter the courses by methods and display them cs
Browse files Browse the repository at this point in the history
  • Loading branch information
tuduun committed Aug 11, 2023
1 parent 180971a commit bdea8bf
Show file tree
Hide file tree
Showing 2 changed files with 192 additions and 33 deletions.
166 changes: 142 additions & 24 deletions src/pages/dashboard/BoardCS.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,141 @@
import React from "react";
import * as Card from "../../components/Cards";
import { csMajorCourses } from "./logic";
import {
csMajorCourses,
csMajorCore,
csMajorFoundation,
csMajorElective,
csMajorProject,
} from "./logic";

const CScourseCards = (cardNumber) => {
const FoundationCards = (cardNumber) => {
return (
<main>
<div style={Card.pageContainer}>
<h1 style={{ justifyContent: "center" }}>
COMPUTER SCIENCE MAJOR COURSES
</h1>
<h2 style={{ justifyContent: "center" }}>FOUNDATION COURSES</h2>
<div style={Card.cardContainer}>
{csMajorCourses.map((sdagici, index) => (
{csMajorFoundation.map((sdagici, index) => (
<Card.CourseCard
cardNumber={cardNumber}
courseNumber={csMajorCourses[index].courseNumber}
courseName={csMajorCourses[index].courseName}
distros={csMajorCourses[index].distributionRequirements}
prereqs={csMajorCourses[index].prerequisites}
unlocks={csMajorCourses[index].unlocks}
description={csMajorCourses[index].courseDescription}
cslevel={csMajorCourses[index].cslevel}
dslevel={csMajorCourses[index].dslevel}
dsSub={csMajorCourses[index].dsSub}
inflevel={csMajorCourses[index].inflevel}
infSub={csMajorCourses[index].infSub}
selevel={csMajorCourses[index].selevel}
topics={csMajorCourses[index].topics}
tools={csMajorCourses[index].tools}
lab={csMajorCourses[index].lab}
learningObjectives={csMajorCourses[index].learningObjectives}
learningOutcomes={csMajorCourses[index].learningOutcomes}
courseNumber={csMajorFoundation[index].courseNumber}
courseName={csMajorFoundation[index].courseName}
distros={csMajorFoundation[index].distributionRequirements}
prereqs={csMajorFoundation[index].prerequisites}
unlocks={csMajorFoundation[index].unlocks}
description={csMajorFoundation[index].courseDescription}
cslevel={csMajorFoundation[index].cslevel}
dslevel={csMajorFoundation[index].dslevel}
dsSub={csMajorFoundation[index].dsSub}
inflevel={csMajorFoundation[index].inflevel}
infSub={csMajorFoundation[index].infSub}
selevel={csMajorFoundation[index].selevel}
topics={csMajorFoundation[index].topics}
tools={csMajorFoundation[index].tools}
lab={csMajorFoundation[index].lab}
learningObjectives={csMajorFoundation[index].learningObjectives}
learningOutcomes={csMajorFoundation[index].learningOutcomes}
/>
))}
</div>
</div>
</main>
);
};

const CoreCards = (cardNumber) => {
return (
<main>
<div style={Card.pageContainer}>
<h2 style={{ justifyContent: "center" }}>Core COURSES</h2>
<div style={Card.cardContainer}>
{csMajorCore.map((sdagici, index) => (
<Card.CourseCard
cardNumber={cardNumber}
courseNumber={csMajorCore[index].courseNumber}
courseName={csMajorCore[index].courseName}
distros={csMajorCore[index].distributionRequirements}
prereqs={csMajorCore[index].prerequisites}
unlocks={csMajorCore[index].unlocks}
description={csMajorCore[index].courseDescription}
cslevel={csMajorCore[index].cslevel}
dslevel={csMajorCore[index].dslevel}
dsSub={csMajorCore[index].dsSub}
inflevel={csMajorCore[index].inflevel}
infSub={csMajorCore[index].infSub}
selevel={csMajorCore[index].selevel}
topics={csMajorCore[index].topics}
tools={csMajorCore[index].tools}
lab={csMajorCore[index].lab}
learningObjectives={csMajorCore[index].learningObjectives}
learningOutcomes={csMajorCore[index].learningOutcomes}
/>
))}
</div>
</div>
</main>
);
};

const ElectiveCards = (cardNumber) => {
return (
<main>
<div style={Card.pageContainer}>
<h2 style={{ justifyContent: "center" }}>Elective COURSES</h2>
<div style={Card.cardContainer}>
{csMajorElective.map((sdagici, index) => (
<Card.CourseCard
cardNumber={cardNumber}
courseNumber={csMajorElective[index].courseNumber}
courseName={csMajorElective[index].courseName}
distros={csMajorElective[index].distributionRequirements}
prereqs={csMajorElective[index].prerequisites}
unlocks={csMajorElective[index].unlocks}
description={csMajorElective[index].courseDescription}
cslevel={csMajorElective[index].cslevel}
dslevel={csMajorElective[index].dslevel}
dsSub={csMajorElective[index].dsSub}
inflevel={csMajorElective[index].inflevel}
infSub={csMajorElective[index].infSub}
selevel={csMajorElective[index].selevel}
topics={csMajorElective[index].topics}
tools={csMajorElective[index].tools}
lab={csMajorElective[index].lab}
learningObjectives={csMajorElective[index].learningObjectives}
learningOutcomes={csMajorElective[index].learningOutcomes}
/>
))}
</div>
</div>
</main>
);
};

const ProjectCards = (cardNumber) => {
return (
<main>
<div style={Card.pageContainer}>
<h2 style={{ justifyContent: "center" }}>Project</h2>
<div style={Card.cardContainer}>
{csMajorProject.map((sdagici, index) => (
<Card.CourseCard
cardNumber={cardNumber}
courseNumber={csMajorProject[index].courseNumber}
courseName={csMajorProject[index].courseName}
distros={csMajorProject[index].distributionRequirements}
prereqs={csMajorProject[index].prerequisites}
unlocks={csMajorProject[index].unlocks}
description={csMajorProject[index].courseDescription}
cslevel={csMajorProject[index].cslevel}
dslevel={csMajorProject[index].dslevel}
dsSub={csMajorProject[index].dsSub}
inflevel={csMajorProject[index].inflevel}
infSub={csMajorProject[index].infSub}
selevel={csMajorProject[index].selevel}
topics={csMajorProject[index].topics}
tools={csMajorProject[index].tools}
lab={csMajorProject[index].lab}
learningObjectives={csMajorProject[index].learningObjectives}
learningOutcomes={csMajorProject[index].learningOutcomes}
/>
))}
</div>
Expand All @@ -41,8 +147,20 @@ const CScourseCards = (cardNumber) => {
const CSDashboardPage = () => {
return (
<main>
<h1 style={{ justifyContent: "center" }}>
COMPUTER SCIENCE MAJOR COURSES
</h1>
<div style={Card.cardContainer}>
<FoundationCards cardNumber={2} />
</div>
<div style={Card.cardContainer}>
<CoreCards cardNumber={3} />
</div>
<div style={Card.cardContainer}>
<ElectiveCards cardNumber={4} />
</div>
<div style={Card.cardContainer}>
<CScourseCards cardNumber={2} />
<ProjectCards cardNumber={5} />
</div>
</main>
);
Expand Down
59 changes: 50 additions & 9 deletions src/pages/dashboard/logic.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,75 @@
import data from "../../curriculumData/current_data.json";

function filterbyMajor(data, field) {
// filters courses using their level and methods
function filterbyMethods(data, field, level, method) {
const filteredCourses = data.courses.filter((course) => {
return course.Major.includes(field);
if (
course.Major.includes(field) &&
course[level].toLowerCase() === method.toLowerCase()
) {
return course;
}
// return course.Major.includes(field);
});

const uniqueCourses = [...new Set(filteredCourses)];

return uniqueCourses;
}

function filterbycategories(data, field, method) {
// displays all the courses in the Major
function filterbyMajor(data, field) {
const filteredCourses = data.courses.filter((course) => {
return course.Major.includes(field);
});

const listOfCourses = [];
listOfCourses.push(filterbycategories);
const uniqueCourses = [...new Set(filteredCourses)];

return filteredCourses;
return uniqueCourses;
}

//computer science courses
const csMajorCourses = filterbyMajor(data, "Computer Science Major");
const dsMajorCourses = filterbyMajor(data, "Data Science Major");
const infMajorCourses = filterbyMajor(data, "Informatics Major");
const seMajorCourses = filterbyMajor(data, "Software Engineering Major");
const csMajorFoundation = filterbyMethods(
data,
"Computer Science Major",
"cslevel",
"foundation",
);
const csMajorCore = filterbyMethods(
data,
"Computer Science Major",
"cslevel",
"Core",
);
const csMajorElective = filterbyMethods(
data,
"Computer Science Major",
"cslevel",
"Elective",
);
const csMajorProject = filterbyMethods(
data,
"Computer Science Major",
"cslevel",
"Project",
);

const dsMajorCourses = filterbyMajor(data, "Data Science Major", "dslevel");
const infMajorCourses = filterbyMajor(data, "Informatics Major", "inflevel");
const seMajorCourses = filterbyMajor(
data,
"Software Engineering Major",
"selevel",
);

export {
filterbyMajor,
csMajorCourses,
csMajorFoundation,
csMajorCore,
csMajorElective,
csMajorProject,
dsMajorCourses,
infMajorCourses,
seMajorCourses,
Expand Down

0 comments on commit bdea8bf

Please sign in to comment.