Open sreejagangapuram opened 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
Individual Review Grace Wang grading Sreeja Gangatron
Individuals Video, Issue(s), Commits(s)
[x] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks - 0.85
Per check.
0.55 not attempted/no check
0.7 attempted, incoomplete, but some runtime
0.8 mastery and runtime
0.9 above and beyond.
GRADING: 0.87
Individual Review Isabelle grading Tirth
Individuals Video, Issue(s), Commits(s)
[x] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks - 0.9
Per check.
0.55 not attempted/no check
0.7 attempted, incoomplete, but some runtime
0.8 mastery and runtime
0.9 above and beyond.
Freeform comment.
Provide positivies and growth summary.
Justify or comment on final score.
Be sure to provide extra details on anything below 0.7 average or above 0.8.
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
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
Issue with edits made since due date
Team
Individuals
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
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:
API controller for different sorting methods:
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
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:
Script.js Work For Cards
CSS Work
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).
[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
card images mapped to the individual divs based on the card value (given from backend)
how swaps were handled
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
Backend Contributors
Frontend Commits
Frontend Contributors