This is an E-commerce project built with the MERN stack and SCSS for styling. This project has been created as part of the web development learning process and showcases the use of various technologies and tools to create a full-fledged e-commerce website.
- User authentication and authorization
- Product catalog with search, filter, and sorting options
- Shopping cart
- Checkout process with payment integration
- User profile with order history
- Admin dashboard to manage products, orders, and users
- Firebase (Realtime Database and Authentication)
- Express.js
- React.js
- Node.js
- Redux
- JWT authentication
- Stripe payment integration
- SCSS
- Clone this repository to your local machine.
- Navigate to the project directory.
- Install the dependencies by running
npm install
in the terminal. - Set up environment variables by creating a
.env
file in the root directory and adding the following variables:FIREBASE_API_KEY
: Your Firebase API keyFIREBASE_AUTH_DOMAIN
: Your Firebase auth domainFIREBASE_DATABASE_URL
: Your Firebase Realtime Database URLFIREBASE_PROJECT_ID
: Your Firebase project IDFIREBASE_STORAGE_BUCKET
: Your Firebase storage bucketFIREBASE_MESSAGING_SENDER_ID
: Your Firebase messaging sender IDFIREBASE_APP_ID
: Your Firebase app IDJWT_SECRET
: JWT secret keySTRIPE_SECRET_KEY
: Stripe secret key
- Start the development server by running
npm run dev
.
Once you have set up the project, you can use it to:
- Browse the product catalog
- Add products to the cart
- Checkout and pay for the order
- View your order history
- Manage products, orders, and users as an admin
Contributions to this project are welcome. To contribute, follow these steps:
- Fork this repository.
- Create a new branch with your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request to this repository.
This project is licensed under the MIT License.