ALL App Planning Specs
| Custom Content | Scope of the Project | Solutions Overview | Core Functionality | Wireframe | Wireframe | Database 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. |
Advanced
|
| ||
| 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: - log a workout (including all data)
| Homepage-sketch-.pdf | ||
| 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:
Advanced:
| 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 Content | Scope of the Project | Solutions Overview | Core Functionality | Wireframe | Wireframe | Database Desc |
