Project 5 builds on all your projects so far. This project will have 2 parts and will be due at the end of finals week.
In part 1 of this project you will work with your team to improve the chat application by adding:
These features will be implemented using calls to a Language Model (LLM).
At the completion of Part 1, your team should re-run the load tests run for project 4 and discuss the results as a team. At this point you should be comparing the results from before LLM features were added with the new test results and preparing the first section of your final report. In this section of the report you will describe:
Iteratively decide as a team on at least 3 changes to you application that you will make to improve the scalability of your application. Before making the changes, document the reasoning for making these particular changes and make a hypothesis about how you expect the result of a subsequent load test will change from a previous test without the change in place.
Your team will then make changes to your application with the aim of improving the scalability of your application and re-run the load tests after each change. For each change you should add a section to your team report describing:
It is the goal to improve the scalability, but learning from something that does not improve the scalability can be equally valuable. It is ok if your changes do not work, but you should have a good learning from those outcomes that can be discussed.
Each change should be tested in isolation so it can be determined what it’s impact is in isolation. This doesn’t mean that you can’t test the impact of multiple changes together. For example: If you have BASELINE load test, CHANGE_A, CHANGE_B, and CHANGE_C, it would be ok to
However, it would not be appropraite to evaluate a test of CHANGE_A, CHANGE_B togeher against the BASELINE test result in isolation.
It would also be ok to:
If you choose to test the changes in isolation, you should do a final round of hypothesizing about what the impact will be of combining the succeful changes into a final branch will be and then do a final load test with those changes combined and discuss the results in comparision to the hypothesis and load tests done in isolation for the kept changes.
This team must be comleted as part of a team. You should be using the same team as you had for project 4.