Skip to content

Commit

Permalink
Update repo README images (#71)
Browse files Browse the repository at this point in the history
* Update sda.md

* Update sda.md

* Update README.md

* Update README.md

* Delete schema.png

* Delete bigpicture.png
  • Loading branch information
nilsstreedain authored Dec 4, 2023
1 parent 6672961 commit 182b340
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 5 deletions.
Binary file removed bigpicture.png
Binary file not shown.
7 changes: 5 additions & 2 deletions client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@
- npm: 9.1.2

## Setup
![img](/bigpicture.png)
![New Architecture](https://github.com/CS-461-nilsstreedain/classroom-polling/assets/25465133/633b6e2b-bbdd-4ff6-b986-f5d809c96a9b)


Clone this Repo to your machine

Follow the steps to setup the server database
Expand All @@ -55,7 +57,8 @@ npm install
`npm run start` or `npm start`

# Interacting With the Database
![img](/schema.PNG?raw=true)
![Schema](https://github.com/CS-461-nilsstreedain/classroom-polling/assets/25465133/a4322ae3-b9b7-4b2f-98fb-116614e381d7)

```
Database <- apiUtil <- Hooks -> Redux
-> Pages
Expand Down
Binary file removed schema.png
Binary file not shown.
8 changes: 6 additions & 2 deletions sda.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ The architecture must be crafted to support a dynamic classroom polling applicat

## System Overview
Considering the project is already heavily underway, below I have provided a diagram that already exists for the current state of the project architecture.
![Image](bigpicture.png)
![Old Architecture](https://github.com/CS-461-nilsstreedain/classroom-polling/assets/25465133/d510c3d5-ea89-4e88-b2cd-2bdec53e9f0d)
The current architecture consists primarily of a frontend, backend, and database. React.js is currently being used for the frontend user interface components, which communicates in real time with the Node.js backend server. This Node.js server also interacts with the MySQL database for keeping track of students, classes, lectures, questions/answers, etc.

Over the course of this project, the goal is to include seamless integration with Canvas, both importing classes from canvas into the application, and grades from the application into Canvas.
![New Architecture](https://github.com/CS-461-nilsstreedain/classroom-polling/assets/25465133/7e0c9d57-e8e2-4d97-ba85-7b6daf6f6ee7)

## Architectural Patterns
The polling application employs a client-server architectural pattern, with the React.js-based frontend as the client interacting with the Node.js-based backend server, which in turn communicates with the MySQL database. This pattern is chosen for its efficiency in handling real-time interactions, crucial for the classroom polling functionality. Additionally, a static content hosting pattern is utilized for delivering unchanging UI files swiftly, reducing server load, and ensuring faster user access. These patterns align with the project's objectives of scalability, low latency, and reliability, while also setting a solid groundwork for future expansions like Learning Management System integration and WebSocket connections for live updates.

Expand All @@ -22,7 +25,8 @@ The polling application employs a client-server architectural pattern, with the

## Data Management
The data within the current project is structured using a relational database schema, which is ideal for managing interconnected data in a systematic and organized manner. Below is a diagram of the schema explaining how data is structured, stored, and accessed within the system:
![Image](schema.png)
![Schema](https://github.com/CS-461-nilsstreedain/classroom-polling/assets/25465133/c59d6a79-6e2d-4f8f-9ded-e3a0ad94ffdc)


## Interface Design
The interface has already been designed, we are adding features and optimizing for performance on top of the current product. We will closely follow the current design application and adjust where instructed by our project partners. The API endpoints that we are currently using are below, although the routes and architecture may change as the project progresses further.
Expand Down
3 changes: 2 additions & 1 deletion server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ It's worth noting that the application is only configured for email use through
- Request Rate Limiting

## Database Schema
![Database Schema](/schema.png)
![Schema](https://github.com/CS-461-nilsstreedain/classroom-polling/assets/25465133/d987e780-fd0e-4ea5-bd18-c72de5d8c32c)


## Endpoints
[API Endpoints Doc](/API%20Endpoints%20MyClassroom.pdf)
Expand Down

0 comments on commit 182b340

Please sign in to comment.