Runtime Links
Team Organization (Review)
Full Member List
#### Team 1 | Name | Role | | --- | --- | | Aiden | Subteam Leader/Frontend lead/sass god/some backend | | Ishi | Frontend | | Ekam | Backend | #### Team 2 | Name | Role | | --- | --- | | Aiden | same guy as before! | | Ryan | Full stack developer!! | | Edwin | Frontend | #### Team 3 | Name | Role | | --- | --- | | Drew | Subteam Leader/Fully stacked 😱 | | Raymond | Full stack developer | | Haoxuan | Backend | | AJ | Full stack developer | #### Team 4 | Name | Role | | --- | --- | | Toby | Subteam Leader/DevOps/Backend/Websocket/Branches/Maintainer | | Isabelle | Backend | | Aaron | Frontend | | Kevin | Swing |Features & Demos
FRQ 1 Lesson (Triangle 1)
- Important syntax
- Example FRQ
- MCQ
- Common Mistakes
https://john-scc.github.io/jcc_frontend/2024/03/19/Arrays_IPYNB_2_.html
New/Improved Wireframes (Triangle 2)
New members = new features = new WIREFRAMES!!
Drag & Drop - Table Generator (Triangle 1/2)
Fully implemented functionality to drag and drop members of a table to different tables on our generator page using jQuery API’s .draggable() and .droppable() methods.
Video Demonstration
Links
Next Steps
- Hover animations
- Enter event listeners on most text boxes (i.e. changing name of class)
- Prompt to verify if really want to delete class
- A new dropzone underneath each table to add members to a table without swapping (adding 1 to a 4 person team)
- Backend integration
JWT Implementation with Dashboard and ClassPeriod Creation (Triangle 3)
Drew’s largest contributions in the past week have been related to implementing the JWT as a security and ease-of-navigation feature using the @CookieValue
tag of the Spring backend.
Runtime
Video Demonstration
Click here to see a short demonstration of the functionality of the combination of the new frontend and backend contributions.
Future Improvements
- Styling on class period creation and period data screen (waiting on wireframe)
- If assignments are empty, an option to create the first assignment should be present
- A new menu for dynamically searching for and inviting students to a class
- POST method for adding multiple students at a time that utilizes the same JWT identification method (to ensure that the leader is the one adding students in the request)
- (Within the scope of Person) An attribute to store ClassPeriod invitations for each user so that they can consent to joining a class, preventing potential spam
Stats Data Calculation and Storage on Backend (Triangle 3)
See the relevant pull request here.
Raymond focused his efforts on creating backend objects that can be used to store graphing/stats data on the backend for use in classes/individually on the frontend, as well as methods used to calculate data for the provided data set (commit). Example below:
public class StatsFunctions {
public double calculateMean(List<Double> dataset)
{
double sum = 0;
for (double i : dataset)
{
sum += i;
}
double mean = sum / dataset.size();
return mean;
}
// more below
}
Haoxuan spent time reviewing the codebase and has begun work on GET and POST endpoint methods to be utilized on the frontend (commit). Example below:
public class StatsApiController {
@GetMapping("/get")
public ResponseEntity<List<double>> getCorrelation() {
List<Quantitative> quan = repository.findAll();
List<double> correlations = new ArrayList<>();
for (int i=0;i<quan.size();i++){
correlations.add(quan.get(i).getCorrelation());
}
return correlations;
}
}
Current Features
- Can create new data types for multiple group Quantitative and Categorical data.
- Basic (necessary) statistical functions
- Calculate mean, standard deviation, minimum, maximum, median and correlation
Future Implementation
- Frontend graphing functionality will need to be paired with this backend data
- Needs specified GET endpoints for each type of data (Raymond)
- No existing endpoint for post (Haoxuan)
- No collaborative option implemented yet
Assignment JWT Functionality (Triangle 3)
This week, AJ focused on implementing the new working JWT functionality with Assignment creation. The POST method has been modified to check if the signed-in user has leader permissions in the ClassPeriod(s) they’re trying to make an assignment within.
Future Improvements
- Styling overhaul on the frontend part of the assignment request
- Assignment object attribute for storing user assignment submissions (hopefully multiple filetypes)
- Possible to specify if an assignment should not have submissions (an announcement)
- Assignment information change to be able to store images to be shown in assignments
Aaron Began working on Stapplet Features (Triangle 4)
- Improved styling of stapplet page
- began working on a new data type
Isabelle Added her feature from her project, video calling (Triangle 4)
- Displays users who are online
- allows video communication
Kevin created the search Feature (Triangle 4)
- Created student class to integrate to our project.
- Recreated the student class from his backend, will soon integrate it with our existing person class
Toby created a system to automatically pull issues (Triangle 4)
- Created system to automatically pull github issues into our project
- Utilizes AWS Secrets Manager to store a secret github key
- Utilizes AWS Lambdas and an API Gateway to return that secret key