Skip to content

Architecture

Savannah Noblitt edited this page Oct 22, 2023 · 22 revisions

Deployment

  • Front-end:
  • Back-end:
  • Database:

Languages

  • Frontend: React.js (JavaScript)
  • Backend: Flask (Python)
  • Database: mySQL (open-source SQL)

Our site will be an SPA, using the above languages. The backend will link to the database, and the front end will communicate with the backend via HTTP methods.

Packages / Build Managers

  • Front-end: npm
  • Back-end: flask
  • Database: (n/a)

Teammate Programming Roles

  • Front-end: (Primary) ______, (Secondaries)
  • Back-end: (Primary) _______, (Secondaries) Savannah Noblitt, Mitchell Jonker
  • Database: (Primary) Mitchell Jonker, (Secondaries) Savannah Noblitt

URL Space (Page URLs)

  • Dashboard (Homepage): /dashboard
  • Account Settings: /account
  • Login Page: /account/login
  • My Evaluations Home: /evaluations
  • My Evaluations Details: /evaluations/details
  • Team Assessments: /assessments
  • My Grants, Proposals, and Publications: /documents
  • Department Analytics: /analytics
  • Upload Data: /upload

SQL Schema / Model

User Data Table: Username (primary key, varchar), email (varchar), password (varchar) Course Data Table: id (primary key, int), course_id (varchar), course_section (varchar), number of students (int), student grade average (varchar), professor rating (varchar), professor-name (varchar)

The above Schema breaks down and organizes the information necessary for our site. The greater majority of views will be derived from the Course Data Table, as that is the primary focus of the site. Certain views will be specific to a user's login credentials, as lower level users will only be able to see their evaluations.

SQL Views

My Evaluations View: SELECT * FROM CourseData WHERE professor-name == user_id My Evaluations Detailed View: SELECT * FROM CourseData WHERE professor-name == <user_id> AND course_id = <selected_course> Department Analytics Page View: SELECT * FROM CourseData

We do not expect the need to join any tables at this time.

Design Milestone Views (Imbedded from other page)

Clone this wiki locally