The "Into the Groove" Record Store app is a full-stack, mobile-responsive application for users who want to purchase high quality vinyl albums.
Try the application live at https://record-store.ericmichaellowry.com
- React
- JavaScript
- Node.js
- Express
- PostgreSQL
- Express Session
- Bootstrap 4
- Webpack
- NPM
- HTML 5
- CSS3
- Users can browse a list of products
- Users can view product details
- Users can add an item to their cart
- Users can view a cart summary
- Users can return later to view their cart
- Users can checkout
- NPM 6 or higher
- Node.js 10 or higher
- PostgreSQL 10 or higher
If you would like to test this application locally, please follow the steps below:
-
If the PostgreSQL service isn't already running, make sure it is started. Sign into PostgreSQL
psql
-
While signed into PostgreSQL, create a new database using the following SQL command.
create database "intoTheGroove";
-
Still signed into PostgreSQL, create a new user and remember the credentials. You'll be needing them for the configuration file.
create user "intoTheGrooveAdmin" with password 'superstrongpassword';
-
Still signed into PostgreSQL, give your new user full control over your new database with the following SQL command.
grant all privileges on database "intoTheGroove" to "intoTheGrooveAdmin";
-
Sign out of PostgreSQL with the following command. You should be returned to your bash prompt.
quit
-
Clone the repository.
$ git clone https://github.com/EricL0wry/react-record-store.git
-
Once inside the project directory, install the dependencies.
$ npm install
-
Copy the
.env.example
file & name it.env
.$ cp .env.example .env
-
Edit the
.env
file to include your new database credentials.PORT=3001 DEV_SERVER_PORT=3000 DATABASE_URL=postgres://<username>:<password>@localhost/intoTheGroove SESSION_SECRET=secret
-
Ensure that the PostgreSQL service is running.
-
Import the sample database.
$ npm run db:import
-
Run the dev script & visit http://localhost:3000 on your browser
$ npm run dev