Final Project Plan for Our Full Stack Application
As we get closer to the end of our project, Aidan and I (Jared) are excited to share our plans for enhancing our full stack web application. This project will show off our skills in developing and deploying a web app. Here’s our plan.
Team Members and Roles
- Jared (Me): Focus on list comprehension, list processing, and Big(O) analysis.
- Aidan: Focus on sorting and searching algorithms, and 2D iteration.
Project Overview
Our project idea is to create an application where users can input items they’ve bought from the grocery store into a virtual fridge. The app will sort items by expiration date, allow users to search for items, and provide recommendations based on the items in the fridge.
Project Goals
- Algorithmic Enhancements: Add advanced algorithms to our project.
- Data Structures: Use complex data structures to manage and process data.
- Full Stack Deployment: Ensure the app is fully functional and accessible by multiple users simultaneously.
Detailed Plan
1. Algorithmic Updates
A. Loops (Algorithmic)
- List Comprehension: I will implement a feature that builds a list using list comprehension. For example, generating a list of items in the fridge that are expiring soon.
- List Processing: Show examples of processing a list using both conventional methods and for-each loops. This includes iterating over the list of fridge items to update or display information.
B. Sorting / Searching (Algorithmic)
- Sorting: Aidan will add sorting algorithms to organize items based on expiration date.
- Searching: He will also add search functions to quickly find items in the fridge. We will use SQLAlchemy’s filtering and sorting to make these operations efficient.
C. Big(O) Analysis
- Time and Space Complexity: I will explain the time and space complexity of our sorting and searching algorithms, showing how efficient they are.
2. 2D Iteration
- 2D Iteration Examples: Aidan will provide examples of code using 2D iteration, such as iterating over a grid or table layout to manage and display fridge items.
3. Deployment (Full Stack)
- Complete Deployment: We will ensure our web app is fully deployed and can be accessed by multiple users simultaneously. This includes setting up the server, database, and front-end to work together smoothly.
- Collaborative Sprint: Aidan and I will work together in a two-week sprint to finalize and polish the project, ensuring all features work seamlessly and are well integrated.
Timeline
Day 1-2: Algorithmic Enhancements
- Day 1: Focus on list comprehension and processing.
- Day 2: Add sorting and searching functions.
Day 3-4: Big(O) Analysis and 2D Iteration
- Day 3: Conduct the Big(O) analysis and document findings.
- Day 4: Add and test 2D iteration features.
Day 5-6: Deployment and Testing
- Day 5: Deploy the full stack app and ensure it supports multiple users.
- Day 6: Test all features, fix bugs, and prepare for the final presentation.
Conclusion
Our final project will showcase our ability to implement advanced algorithms, handle complex data structures, and deploy a functional web app. By working together and following our plan, we are confident we can deliver an effective and efficient solution. Stay tuned for updates as we progress through each phase of our project!