Welcome to CCC Music Emporium, an e-commerce platform for buying and renting musical instruments. This project was created by Can, Cody, and Chang in just 2 weeks.
- Rent instruments for a specified duration and return them after use.
- Browse and purchase a wide range of musical instruments such as guitars, drums, keyboards, and more.
- User authentication for secure login and registration.
- User profile section to track order history, saved items, and manage account information.
- Shopping cart to manage your purchases and rentals.
- Search functionality to easily find your desired products.
- Filter options to narrow down your search based on various criteria such as price, brand, and instrument type.
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to install and run the application local.
-
Clone the repository
git clone https://github.com/changLiCoding/ccc_music_emporium.git ccc_music_emporium
-
Install NPM packages
npm install
-
NPM packages for React
cd client & npm install
-
NPM packages for server
cd server & npm install
-
Reset database to get all seeds
npm run db:reset
-
Create new .env file inside of server folder
cd server & touch .env
-
Fill out all variables in .env.example file. And copy everything filled out to .env file
DB_HOST=localhost DB_USER= DB_PASS= DB_NAME= # Uncomment and set to true for Heroku DB_SSL=true if heroku DB_PORT=5432 PORT=8080 STRIPE_PUBLISHABLE_KEY= STRIPE_SECRET_KEY= JWT_SECRET=
-
Run the application in the root folder to run both React and Express:
npm run dev
- Add sign up and sign in
- Add home page with category
- Build backend routes and database query, schema and seeds
- Add simple routes that React can communicate with get and post request to simple route in server
- Add products page in React that products card would display on categories page
- Add cart functionility that click add to cart, cart object will be saved in localstorage
- Add checkout functionility that products that added into cart can be checked out
- Add functionility that purchased products can be reviewed in user order history
- Add JWT that the user order history is protected by JWT
- Change cart and checkout functionility from useContext to Redux
- Change products functionility from useContext to Redux