Final Sprint Plan Overview
Below are the primary aspects I’d like to tackle in this final Sprint.
- Finalize/add to project (Settings Feature) based off of new requirements discussed in teacher issue.
- Add to project based on peer and previous teacher feedback for feature to aid with work finalization, possibly even adding more settings options, for example.
- Continue to document learning and work until the end of the year in Time Box/blog using Plans, Hacks, and Tangibles categories and reflect on computer science experience throughout all three trimesters.
New shared repositories:
Final Project Additions for Requirements from Teacher Issue
- “Loops (Algorithmic): show specific example of building a List using List Comprehension. Show examples of processing a list using conventional and for each methods”
- Current settings features don’t have much potential in this category
- I plan to create a new settings feature: list of favorite items, corresponding to a user
- Would involve either a separate SQLITE database table in the backend or a separate column in the ‘users’ table that stores the corresponding user’s list of items they favorited via the frontend
- Fulfills requirements: when a user accesses the settings page, use list comprehension to build list of favorite items (retrieve user’s favorite items from database –> construct a list using list comprehension)
- Then process list using conventional methods like ‘for’ loop or ‘for each’ method
- I plan to create a new settings feature: list of favorite items, corresponding to a user
- Current settings features don’t have much potential in this category
- “Sorting / Searching (Algorithmic): show examples of sorting and searching using the backend of your project.. FYI, SQLAlchemy allows filtered selections and sorting. Additionally, you have sorting options discussed in tech talk”
- Likely showcase sorting and searching operations using SQLAlchemy queries
- Ex: retrieve users sorted by ID in descending order, search for a user by their username, etc.
- Get more ideas and context for requirements/expectations from tech talk…
- Ex: retrieve users sorted by ID in descending order, search for a user by their username, etc.
- Likely showcase sorting and searching operations using SQLAlchemy queries
- “Deployment (Full Stack): a complete deployment illustration multiple people using and updating your Full Stack Web Application simultaneously”
- Deploy with AWS
- Login functionality, authentication
- Use @token_required to guard most actions, like Username, UID, and PFP changing
- Simulate concurrent updates to database (user info) from multiple users
- Login functionality, authentication
- Deploy with AWS
Final Project Additions/Revision from Feedback
Teacher Feedback
- Potentially add more settings to better fulfill expectations of being “The Settings Guy”
- Ex: the one I discussed earlier (storing favorite items)
- Alter user database data (credentials) form food themed to something that better fits our topics
- Employ new teacher requirements discussed in teacher issue
Peer Feedback
- Add more settings (similar to previous teacher feedback)
- May be better to make theme changing change whole page rather than just form container
- More security so that users can only change their own Username, UID, etc.
# example of using list comprehension to build fav. item list
user = User.query.filter_by(id=user_id).first()
favorite_items = [item.name for item in user.favorite_items]
# example of processing list using conventional methods
# conventional method
for item in favorite_items:
print(item)
# for each method
favorite_items_string = ', '.join(favorite_items)
print(favorite_items_string)