Skip to content

O-Abdelaaziz/ngshop-mean-stack-ecommerce-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NgShop Mean Stack E-Commerce Application

Using Angular & NodeJs

NgShop E-Commerce is an ecommerce application created by Nx Monorepo & Angularv14 & and nodejs,

Features

  • Manage users.
  • Manage categories.
  • Manage products.
  • Manage orders & order-items.

Extra Features

  • Jwt authentication using express-jwt lib
  • Upload File usign (nodejs , express, angular)
  • Communicate between apps and libs using modules.
  • Manage user Authentication using NgRx state management.

Installation

NgShop E-Commerce Application requires Node.js v16.13.0+ to run.

Install the dependencies and devDependencies and start the server.

#For The Server
cd ngshop-mean-stack-ecommerce-app
cd server
npm i
npm start
#For The Client
cd ngshop-mean-stack-ecommerce-app
cd client
npm i
ng serve --open

For .env file

API_URL=your_api_base_url
SECRET=your_jwt_secret_key
CONNECTION_STRING=your_mongodb_connection_string
STRIPE_SECRET_KEY=your_stripe_secret_key

Libraries (server & client)

NgShop E-Commerce Application is currently created with the following libraries. Instructions on how to use them in your own application are linked below.

Plugin NPM Version
nodemon https://www.npmjs.com/package/nodemon ^2.0.16
express https://www.npmjs.com/package/express ^4.18.1
dotenv https://www.npmjs.com/package/dotenv ^16.0.1
cors https://www.npmjs.com/package/cors ^2.8.5
morgan https://www.npmjs.com/package/morgan ^1.10.0
mongoose https://www.npmjs.com/package/mongoose ^6.3.6
bcryptjs https://www.npmjs.com/package/bcryptjs ^2.4.3
jsonwebtoken https://www.npmjs.com/package/jsonwebtoken ^8.5.1
express-jwt https://www.npmjs.com/package/express-jwt ^7.7.5
multer https://www.npmjs.com/package/multer ^1.4.5-lts.1
primeng https://www.npmjs.com/package/primeng ^13.4.1
primeflex https://www.npmjs.com/package/primeflex ^3.1.2
primeicons https://www.npmjs.com/package/primeicons ^5.0.0
normalize.css https://www.npmjs.com/package/normalize.css ^8.0.1
quill https://www.npmjs.com/package/quill ^1.3.7
i18n-iso-countries https://www.npmjs.com/package/i18n-iso-countries ^7.5.0
animate.css https://www.npmjs.com/package/animate.css ^4.1.1

Note: you cand find more in package.json file.

⬆ back to top

Nx & Monorepo

Waht is a Nx?

alt text

⬆ back to top

Nx is a smart, fast and extensible build system with first class monorepo support and powerful integrations.

  • Dev tool.
  • Typescript based mono repo tool.
  • Built on top of Angular Devkit.
  • Nx was created by Angular team at Google.
  • Now its NRWL.
Why Nx?
  • Nx provides tools to give you the benefits of a monorepo without the drawbacks of simple code collocation.
  • Faster Command Execution.
  • Controlled Code Sharing.
  • Consistent Code Generation.
  • Accurate Architecture Diagram.
  • Great CLI.
  • Rebuilding and Retesting what is Affected.
Waht is a Monorepo?

A monorepo is a version-controlled code repository that holds many projects. While these projects may be related, they are often logically independent and run by different teams. When you woking with monorepo you can have : -One repository -Multiple rpojects -Shared Libraris

Monorepo Exemple

alt text

⬆ back to top

Monorepo Advantages
  • Ease of code reuse.
  • Simplified dependency management.
  • Atomic commits.
  • Collaboration across teams.
  • Single package.json policy.
  • Single node_modules Folder.
Monorepo Disadvantages
  • Maintain configurations.
  • Coordinating a release process.
  • Setting up an entire project.

Project System desgin

Project Repository

alt text ⬆ back to top

NgRx Authentication Workflow

alt text

⬆ back to top

Checkout Workflow

alt text ⬆ back to top

Screenshots

Login Page

alt text ⬆ back to top

Dashbiard Page

alt text ⬆ back to top

Users List Page

alt text ⬆ back to top

New User Page

alt text ⬆ back to top

Categories List Page

alt text ⬆ back to top

New Product Page

alt text ⬆ back to top

Orders List Page

alt text ⬆ back to top

Home Page

alt text ⬆ back to top

Products List Page

alt text ⬆ back to top

Checkout Page

alt text ⬆ back to top

License

MIT

Free Software, Hell Yeah!

About

NgShop Mean Stack E-Commerce Application Angular 14, NX, PrimeNg

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published