WEB103 Project 4 - BOLT BUCKET

Submitted by: Shi Zhang

About this web app: This is a full-stack web app that allows users to create and customize their own car. The app uses React to display data from an API and a PostgreSQL database to store user-created cars. The user can view a list of options they can select for different aspects of a car, and on selecting each option, the displayed visual icon for the car updates to match the option the user chose. The user can submit their choices to save the car to the list of created cars, and if a user submits a feature combo that is impossible, they should receive an appropriate error message and the item should not be saved to the database. The app displays the total price of all features, and users can view a list of all submitted cars, edit or delete a submitted car from the list view of submitted cars, and update or delete cars that have been created from the detail page.

Time spent: 5 hours

Required Features

The following required functionality is completed:

  • The web app is connected to a PostgreSQL database, with an appropriately structured CustomCar table
    • NOTE: Your GIF must include a view of your Railway database that shows the contents of the table used by your app
  • The web app uses React to display data from the API
  • Users can view a list of options they can select for different aspects of a CustomCar
  • On selecting each option, the displayed visual icon for the CustomCar updates to match the option the user chose
  • The user can submit their choices to save the car to the list of created CustomCar
  • If a user submits a feature combo that is impossible, they should receive an appropriate error message and the item should not be saved to the database
  • The app displays the total price of all features
  • Users can view a list of all submitted CustomCar
  • Users can edit or delete a submitted CustomCar from the list view of submitted CustomCar
  • Users can update or delete CustomCar that have been created from the detail page

The following optional features are implemented:

  • Selecting particular options prevents incompatible options from being selected even before form submission

The following additional features are implemented:

  • List anything else that you added to improve the site's functionality!

Video Walkthrough

Here's a walkthrough of implemented required features:

Video Walkthrough

GIF created with LICEcap GIF tool here

Notes

Describe any challenges encountered while building the app or any additional context you'd like to add.

License

Copyright [2024] [Shi Zhang]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.