Card-Complexity / Card-Complexity-issues

0 stars 0 forks source link

Crossover Review Ticket #3

Open sreejagangapuram opened 8 months ago

sreejagangapuram commented 8 months ago

Issue with edits made since due date

Team

Crossover Score Runtime Plan GitHub Analytics
0.87 Fibonacci Frontend Fibonacci Plan nighthawk_csa Commits

Individuals

Name Team+Indi+Teacher Runtime Issues Key Commit(s) Analytics
Ekam K 0.87 + 0.88 + -- runtime, runtime2 individual issues included below api controller, frontend display of cards frontend commits, backend commits Profile (for overall commits)
Name Team+Indi+Teacher Runtime Issues Key Commit(s) Analytics
Sreeja G 0.87 + 0.87 = 1.74 runtime, runtime 2 individual issues included below HTML homepage, CSS, Javascript for Cards, MD file edits Profile, see below for frontend commits, my group took my sort code and made some tweaks before committing to backend.
Name Team+Indi+Teacher Runtime Issues Key Commit(s) Analytics
Tirth T 0.85+0.87 = 1.72 runtime, runtime 2 individual issues included below Generic Class JSON Creation to Generics Writing Card Specifc Sorts and JSON patterns Frontend Backend

Overall Project Purpose:

The purpose of our overall project was to demonstrate the differences between each sort in an easy to see way. Explanations can be confusing, but having the cards visually move to their positions helps the method become clear.

Growth/Accomplishments These were our original frameworks. Originally, we planned to have the cards physically translate across the screen. However, this turned out to be difficult to manage, and was confusing to look at as well. Due to this, we decided to go with a simple bounce animation that was not too distracting

Screen Shot 2023-12-11 at 12 17 29 PM

Another major change we made was with the cards themselves. When we first started creating backend, we had assumed the cards would be generated on the frontend, sent to the backend, sorted, then sent back to frontend. However, as we started working, we realized it would be much more benefitial to have the cards sorted fully in backend, but record the steps that took place as arrays in seperate JSON objects. That way, we could limit the amount of HTTP requests sent between backend/frontend, and still achieve the same thing.

Short falls/Improvement that could be made in Work or Team Plan

While we had started the project using the scrum board, we eventually stopped using it. This was definitely a short fall, since although we kept good communication through messaging apps, our organization was lacking. Work wasn't being properly divided, and team members were left wondering who should be working on a certain task. Better use of scrum boards in the future would help with efficiency.

Showing key accomplishments

Inheritance of main sorting method through the Generic class:

Screen Shot 2023-12-11 at 12 23 57 PM Screen Shot 2023-12-11 at 12 24 09 PM

API controller for different sorting methods:

Screen Shot 2023-12-11 at 12 24 51 PM

No static sort methods.

Showing key user interaction and learning

Users get to decide when to move the sorting algorithm a step forward. This allows them to fully understand how the sorting methods work, and how they differ from each other. Also, by having to physically step through the methods, they can clearly understand which methods require more swaps and comparisons.

Sreeja Gangapuram, Click for Video Link

Screen Shot 2023-12-12 at 8 25 10 PM

Frontend

Backend

Retrospection: Our project had a strong start with interesting features like bounce.js for animations, in contrast to a less exciting idea in the previous trimester. However, during ideation week, our team faced difficulties due to a lack of understanding, particularly affecting backend development and causing project delays. To enhance our passion project, implementing deadlines for various checkpoints, such as finishing the backend in two weeks, would help us stay on track and maintain continuous progress.

All Code Screenshots: Selection Sort, Java Work:

Screen Shot 2023-12-11 at 9 24 49 AM

Script.js Work For Cards

Screen Shot 2023-12-11 at 9 26 12 AM Screen Shot 2023-12-11 at 9 26 19 AM

CSS Work

Screen Shot 2023-12-11 at 9 26 41 AM

Key Commits (Because I don't show up as a contributor due to a github issue I'm working on, this is proof od my contribution).

Screen Shot 2023-12-11 at 8 59 14 AM

[Ekam]()

Retrospection:

Overall, I believe our project started off with a good idea. Last trimester, my team had the issue of having a boring idea, which lead to a lack of interest when working on the project. This time, our project included interesting features, including a library called bounce.js, used for simple animations. I felt more motivated to work on the project because of these reasons. I also believe there was much better communication between our team members, with productive work done in class, and constant calls after school. However, where our team fell behind was during ideation week. A lack of understanding lead to issues when creating backend, which delayed the overall progress of our project. These issues piled up and lead to a lower quality output. A good improvement to make for our passion project would be to create deadlines for different checkpoints of the project (have backend done in 2 weeks, have another feature done by this date, ect).

What I worked on:

BACKEND:

using spring's built in service method for each of the sorting methods ![Uploading Screen Shot 2023-12-11 at 12.32.50 PM.png…]()

how i fixed CORS

Screen Shot 2023-12-11 at 12 34 01 PM

card images mapped to the individual divs based on the card value (given from backend)

Screen Shot 2023-12-11 at 12 34 40 PM

how swaps were handled

Screen Shot 2023-12-11 at 12 35 16 PM

Tirth T

Overall Project:

The project was to create a dynamic visualization of our backend sorting algorithms by sending the shifts in position of the various card elements and sending them to the frontend along with providing methods to see time and companions and sorts for large values for the sorting algorithms.

Retrospection:

We had an interesting project which was mostly achieved through creating an API that transmitted the data and created a unique way for dynamic movement through the passing of the entire series of movements through a JsonArray. Along with the use of inheritance to allow for quick adaptations through being able to update our sorts and various other elements. However, we had some issues with getting running with our dependencies during Ideation which created significant delays with our project, and difficulties in achieving this also caused fronted delays with creating animations with bounce. However, once this was achieved the project was relatively seamless if we were to disregard cors issues.

Backend Commits

image

Backend Contributors

image

Frontend Commits

image

Frontend Contributors

image

emmaxshen commented 8 months ago

Team Review Emma grading Ekam

Team Review ticket containing key Team and individual contributions

Average Score: 0.84/1

Freeform comment: I really like that users are able to visualize the cards moving according to the sorting algorithm --> good learning experience. just main improvement is to get the fibonnaci algorithm visualization on the frontend

gwang1224 commented 8 months ago

Individual Review Grace Wang grading Sreeja Gangatron

Individuals Video, Issue(s), Commits(s)

GRADING: 0.87

isabelle926 commented 8 months ago

Individual Review Isabelle grading Tirth

Individuals Video, Issue(s), Commits(s)

Had all 4 sorts, made an API that recorded every single movement in a JSON array, simulating movement of a real deck of thirteen cards representing each suit, live time updating based on JSON data, shows time and space complexity, had animations and raw data for full visualization. Unique and interesting UI that showed full understanding of sorting algorithms.

Score: 0.86

emmaxshen commented 8 months ago

Individual Review Emma Shen grading Ekam

Individuals Video, Issue(s), Commits(s)

Freeform comment: very solid contribution for backend and esp frontend. talks ab plan & implementation very clearly all outlined in issue. overall shows lots of growth & learning in java!

Average Score: 0.88