This application is a full-stack automobile trading site.
The application is spread between two repositories. This repo contains the front-end. The back-end can be found here.
The front-end is hosted on GitHub Pages. The back-end is hosted on Heroku.
I wanted to create a full-stack trading application with a database of items for sale. I wanted to include images of merchandise but this raised the issue of ensuring images were appropriately formatted to display well in resusable components.
I decided to create a listings site for automobiles, using pictures of toy cars in place of real cars. I discovered several collectors' sites that included images of Hotwheels cars in a standardised format, allowing me to generate a pool of assets that could be rendered in procedurally generated components with minimal formatting issues.
I aimed to include the following features in the front-end:
- Responsive React application
- A splash page with a randomly selected featured car
- A specially styled listing page for the featured car
- A filterable listings page with procedurally generated 'cards' displaying cars for sale
- A nav bar with styled & animated menus, including an animated burger menu
- A form for submitting new listings to the database
The features of the API are detailed in the back-end repo.
The front-end of this application is hosted on GitHub Pages and can be run from there.
The back-end is hosted on Heroku. Please see the back-end repository for further information.
To install this repo locally:
The front-end was built with React and styled with styled-components.
Axios was used to handle HTTP requests.
- Add a facility to upload images with new listings.
- Modify the filters in the listings page to procedurally create selectors from the API data. Currently selectors are hard-coded.
- Modify the 'Contact Seller' buttons so that these direct to a contact form rather than providing the seller's email address.
This application uses Open Source components. You can find their source code and license information below. Huge thanks to all of the people who contribute to this work ❤️
-
Project: React
Copyright (c) Facebook, Inc. and its affiliates.
License: MIT -
Project: styled-components
Copyright (c) 2016-present Glen Maddern and Maximilian Stoiber
License: MIT -
Project: Axios
Copyright (c) 2014-present Matt Zabriskie
License: MIT
The front-end of the application is hosted on GitHub Pages.
This application uses assets from the Hotweheels Collectors website as mock car images.
- Hotwheels is a trademark of Mattel.
- Mattel uses trademarks with the permission of their respective owners.