NFT Online Store, the app that allowse people to easily purchase fashion NFTs.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
NFT Online Store App started as an MVP group final project at CodeOp bootcamp. I later forkedt the project and continue to work on design as well as new features. The full-stack app is built using React, Node/Express, Vite, and MySQL. Deployed on Heroku and migrated DB on Stackhero.
The app is meant to help people buy fashion NFTs as well as learn more about digital assets. It now allowes users to select and buy varius NFTs, create an account on the platform as well as contact us using the form. It will hopefully soon send the order receipt via email, send email if a person left items in the cart or even allow the user to communicate with an agent via the chat option.
To get a local copy up and running follow these steps (for MAC users).
- Clone the Repo and run
npm install
in project directory. This will install server-related dependencies such asexpress
. cd client
and runnpm install
. This will install client dependencies (React).- Create Stripe Account or use the TEST API KEY they provide.
- Create SendGrid account and generate a new API KEY.
- Access the MySQL interface in your terminal by running
mysql -u root -p
create database ecommerce;
- On the root of your project add a
.env
file to the project folder of this repository containing the MySQL authentication information for MySQL user. For example:
DB_HOST=localhost
DB_USER=root
DB_NAME=ecommerce
DB_PASS=YOURPASSWORD
SUPER_SECRET=YOURSUPER_SECRET_PASSWORD
STRIPE_KEY=************
SENDGRID_API_KEY=**********
- Run the following commands to your MySQL console:
CREATE DATABASE ecommerce;
and thenUSE ecommerce;
. - Run
npm run migrate
in the project folder of this repository, in a new terminal window. This will create the required tables in your database: "payments", "orders", "users", "guests", "artists", "products", and "product_order". - Make sure you understand how the tables are constructed. In your MySQL console, you can run
DESCRIBE tablename;
to see the structure of each table. Please mind that "tablename" inDESCRIBE tablename;
needs to be replaced by the name of the table that you want to describe.
- Run
npm start
in project directory to start the Express server on port 5000. - In another terminal, do
cd client
and runnpm run dev
to start the client in development mode with hot reloading in port 5173.