Built with MERN stack. Overall, the app offers the possibility to perform these actions:
- Merchants manage their own brand component
- Buyers browse the store categories, products and brands
- Administrators manage and control the entire store components
- Features👨🔬
some major features are:- Node provides the backend environment for the whole app
- Express middleware is used to handle requests and routes
- Mongoose schemas are use to model the application data
- React for displaying User Interface components
- Redux to manage application's state
- Redux Thunk middleware to handle asynchronous redux actions
- Webpack the module bundler. Optimize the weight of our source code and thus contribute to the good app performance
- Chalk to beautify the console's response
- Redux to manage application's state
- Passport for authentication
- AWS-SDK simplifies use of AWS Services by providing a set of libraries
- Axios makes it easy to send asynchronous HTTP requests to REST endpoints and perform CRUD operations
- Mobile-Detect will detect the device by comparing patterns against a given User-Agent string
- Tsscmp prevents timing attacks using Brad Hill's Double HMAC pattern to perform secure string comparison
Some basic Git commands are:
$ git clone https://github.com/Walf-dev/react-ecommerce.git
$ cd project
$ npm install
For anyone who wants to learn MERN stack by doing real projects.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Create .env file that include:
* MONGO_URI & JWT_SECRET
* PORT & BASE_SERVER_URL & BASE_API_URL & BASE_CLIENT_URL
* MAILCHIMP_KEY & MAILCHIMP_LIST_KEY => Mailchimp configuration
* MAILGUN_KEY & MAILGUN_DOMAIN & MAILGUN_EMAIL_SENDER => Mailgun configuration
* GOOGLE_CLIENT_ID & GOOGLE_CLIENT_SECRET & GOOGLE_CALLBACK_URL => Google Auth configuration
* FACEBOOK_CLIENT_ID & FACEBOOK_CLIENT_SECRET & FACEBOOK_CALLBACK_URL => Facebook Auth configuration
* AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY & AWS_REGION & AWS_BUCKET_NAME => AWS configuration
> Create a Procfile in the root directory of your application with the following command **web: npm run start:production**
$ npm run production
$ npm start
$ npm run start:production