/Ecommerce-react

Project for web programming course.

Primary LanguageJavaScript

Online Shop

The system already has an admin.

email: admin@admin.com

pw: adminadmin

Links

Github Repo: https://github.com/IlyasAbdighni/Ecommerce-react

WebSite hosted at Heroku: https://webprogramming-react.herokuapp.com/

Document: https://github.com/IlyasAbdighni/Ecommerce-react/blob/master/Documentation.pdf

Youtube video: https://youtu.be/pmmPtAxCxsY

Achieved points:

  1. Users can register;
  2. Users can Login;
  3. The system has an admin who can add products;
  4. Every user can view his/her own profile;
  5. Every user has a encrypted password;
  6. Instant search;
  7. Server can perform authentication
  8. Server can perform authorization, server will identify users by their role. Regular user role is 'Customer', admin user role is 'Admin';
  9. Admin can see active users list;
  10. Simple notification was added;

Getting Started

These instructions will get you start this project locally.

Prerequisites

First you have to have Node, npm or yarn installed on your computer.

Installing

In this application I have package.json. One for the nodejs server, the other one for the client. Client was created using "create-react-app"; But either in these folders, you can install packages in the same way as follows:

npm run install

Or

yarn install

Running the server

"yarn dev" will start a development server. If you change any server file, the server will automatically restart.

yarn dev

or

yarn start

Running the client

cd into client, and

yarn start

This will start the webpack dev server which will serve the client UI.

Built With

  • Node - Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • NPM - npm is the package manager for JavaScript
  • Yarn - Fast, reliable, and secure dependency management.
  • Express JS - Fast, unopinionated, minimalist web framework for Node.js
  • MongoDB - MongoDB is a free and open-source cross-platform document-oriented NoSQL database program.
  • Bcryptjs - Optimized bcrypt in plain JavaScript with zero dependencies.
  • Mongoose - Mongoose is elegant mongodb object modeling for node.js.
  • JsonWebToken - JSON Web Tokens are an open, industry standard method for representing claims securely between two parties.
  • React JS - It is a JavaScript library for building user interfaces.
  • React Router Dom - Dynamic routing React js.
  • Redux - Redux is a predictable state container for JavaScript apps.
  • React-toastify - React notification made easy.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details