ALL App Planning Specs

Entries
Custom ContentScope of the ProjectSolutions OverviewCore FunctionalityWireframeWireframeDatabase Desc
Seat saver by LouiseO

This program helps make planning and transportation from Jackson-Reed to the boathouse more simple and organized. It will create a space for teammates to reserve seats in cars driving to the boathouse, reserve space in cars for their stuff to be transported to the boathouse. It also provides a space for drivers to sign up to drive, make storage space and seats available for teammates to claim and allows drivers to mark pick-up locations and departure times.

HTML CSS My SQL

File structure so that there are folders for CSS images classes and includes

Config?

Re-use as much code as possible

Design CSS for the whole app not just one page at a time

Shared header and footer

Ensure that SQL is secure

Add in error checking and data validation for all user input including testing edge cases passwords are hashed never stored or displayed in plaintext

User object with username, password, how many seats and storage space the users car has

layout should adapt to fit any device (make sure functional on phones especially)

More than one user table?

Seat reservations:

Teammates can view the information related to the cars and drivers before selecting and reserving either a seat or a section storage space in a car prior to departure. Users can edit existing reservations.

Stuff reservations:

When reserving a seat in a car, users can select how much storage they will need for their stuff, Some teammates run to the boathouse, so they will only reserve storage space in the car. Users can edit existing reservations.

Stuff will catagorized into small (1'–1'3" × 9"–11" × 3.5"–5"), medium (1'4"–1'8" × 1'–1'2" × 5"–8"), and large (1'9"–2'1" × 1'3"–1'5" × 9"–12"), and teammates can reserve storage space based on their items, user self classifies their item.

Posting seat and space availablity: Drivers can put in the number of open seats they have and the amount of space they have in their car for stuff.

Driver sign up: Users can sign up to become a driver or a passenger, If drivers plans change, they can edit existing trip, and users that have already reserved space or seating will be notified so they can change their reservation if they choose to.

Pick up location & Departure time: Drivers can set their pick up locations and departure times and passengers can see them before reserving their seat

Dates: Users can select the date that they are planning for with the current day as the default.

Users have Usernames and Passwords for their accounts

Two passengers claiming the last seat/storage slot at the same time — use a transaction that re-checks capacity before inserting the reservation.

Driver cancels a trip after people have already reserved seats — notify/clear those reservations.

Username uniqueness

empty/negative seat or storage counts, dates in the past.

No Admin, fully peer to peer

Login/Logout

Notifying a cancellation means both an in app status change and a cancelation email.

Start by selecting driver or passenger

Drivers select what availability they have and passengers go through options and reserve a seat and/or space in the car they like the most

IMG_0729.pdf
Media Rater by CameronL

This app will allow users to rate and discuss different types of media that they have consumed, as well as discover new media that aligns with their interests. Users can rate books, movies, TV shows, video games, music, and any other types of media that they are interested in, and view the ratings and reviews that others have given. Inspired by sites such as Letterboxd, Album of the Year, and Goodreads.

Using HTML, CSS, and PHP primarily, as well as JavaScript when needed. Utilize DRY principles, and reuse code as much as possible. Use classes, functions, and includes whenever needed. Make the SQL secure to prevent injections. Create separate CSS files. Create a logical file structure, with related files being grouped together, and file names clearly communicating their purpose. Also assure tables, fields, and variables are consistently and logically named. Allow users to create accounts and login to save their reviews and information. The website should be able to be easily viewed on both desktop and mobile screens, with all features available on both. Be sure to check for edge cases on all user inputs to prevent unexpected results or nonfunctional features. Utilize both client- and server-side checks to ensure data is accurate.

  • Rate out of 100 and write reviews for any piece of art or media
  • View average scores, as well as specific reviews from users
  • Use ratings given to find new media that aligns with interests
  • Social aspects, such as being able to receive notifications when friends upload reviews
  • Discussion pages for specific works, not necessarily requiring a review
  • Periodic polls or surveys on currently popular or relevant media

Advanced

  • Pull data from outside sources, such as to display new releases and popular media
  • Compare users scores to those of established media critics
  • Top bar with site name, categories of media, user page, and notifications
  • Recent releases, both those that are popular overall and that are relevant to the user's interests
  • Recommendations based off of interests.
  • Media recently rated by friends
Database Desc
MVP Workout 2.0 by MargaretP

MVP Workout will allow the user to plan and track their workouts in a fully customizable way. Users will be able to create workout plans from lists of pre-existing and custom-entered exercises. They will be able to log workouts with a variety of data of their choosing (steps, heart rate, calories, time, etc) and notes. Users will also be able to see their average time for each workout plan, connect with friends and view progress, create goals and track progress, and view all their workout history on a calendar.

General: Use a MySQL database, PHP, HTML, CSS. Use one CSS file for the whole app, not just one page at a time. Make MySQL secure. Use classes in PHP. Make my file structure so that there are folders for CSS, images, classes, and includes. Make sure to add in error checking and data validation for all user input including testing edge case. Plan for getting bad data or failing to get data from the API. Adhere to DRY principles. Users need to have ability to create a user object so that they can log in and save information under their account.

More details: The list of pre-existing exercises will be sourced from an API (TBD). Each exercise should have the following information associated with it: name, muscle group(s), equipment needed, exercise type (strength/cardio/mobility), default unit of measurement (reps/weight, time, distance). Custom exercises will be shareable.

Basic:
- create a workout (from preexisting and custom exercises) - Use an API to get an extensive list of exercises for users to pull from. Users should be able to search for exercises by muscle group and by name specifically. Custom exercises will be shareable.  Workouts should be saved with a name (ex. "Basic Arm Day") and with one or more tags for type of workout (ex. "arms", "full body", "shoulders", etc).
- enter custom exercises

- log a workout (including all data)
Advanced:
- average time of workout
- calendar view
- add friends and view progress
- create goals and track progress -- goal types can include frequency (ex. "workout three times a week for a month straight", or performance (ex. "run a mile in x minutes" or "bench press x pounds for reps"), goal progress calculation will be a user-entered metric (ex. "what percentage to your goal are you")

  • users will be able to create custom supersets and save them to add to future workout plans
Homepage-sketch-.pdfDatabase Desc
Meal Planning by Elizabeth

I find it very annoying to plan out the menu for the week based on who is home and what their favs are. Also would like to get family buy in. Planning a week of family dinners is tedious and repetitive — it means remembering who's home which nights, whose preferences to weigh, and trying to keep some variety in protein types (not five nights of chicken in a row). Right now this happens in someone's head or a scattered text thread, and it's easy to default to the same five meals because thinking it through each week is annoying. …

The app will be built with HTML/CSS/mySQL/PHP and as little JavaScript as possible.  Please use classes with PHP.  Make sure SQL is secure - especially SQL injection.  Reuse code as much as possible and design the CSS for the whole app not just one page at a time. Family members and meals will be stored in a database (see Database Architecture). Each week, the user marks who will be home. A first pass of plain code (not AI) filters the meal database down to meals that satisfy the protein-mix rule (2 chicken/2 fish/1 meat/1 veggie) and excludes anything a present family member has marked as disliked. That filtered candidate list is then handed to an AI call, along with each present family member's preference ratings, and the AI ranks/selects the best 6 meals for the week from the candidates — this is the one "fuzzy" judgment call that's hard to hand-code well. The result is shown as a suggested weekly menu, and each family member can approve or swap individual meals.

Make my file structure so that there folders for CSS, images, classes and includes.

Make sure to add in error checking and data validation for all user input including testing edge case. If getting data from an API - what happens if it fails to connect? Gets bad data.

Basic:

  • Add/edit family members
  • Add/edit meals in database, each tagged with a protein type
  • Mark who is home for the upcoming week
  • Generate a suggested weekly menu (rule-based filtering + AI ranking)
  • View the week's plan

Advanced:

  • Per-person preference ratings on meals (like/dislike/neutral)
  • Family members can approve/swap individual suggested meals (buy-in feature)
  • Meal history tracking (avoid repeating same meal too often week to week)

Main page shows the current week as 5–7 rows, one per night: night name, suggested meal, protein tag, and a swap/approve button next to each. A sidebar or top bar lets you toggle which family members are home this week. A separate simple page lists all meals in the database with an "add meal" form (name + protein type), and another lists family members with their preference ratings.

Custom ContentScope of the ProjectSolutions OverviewCore FunctionalityWireframeWireframeDatabase Desc