All Projects → moelashmawy → Inventory Application

moelashmawy / Inventory Application

Shopping app using MERN stack

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Inventory Application

Elfcommerce
A headless open source Ecommerce project written in ReactJS + ExpressJS
Stars: ✭ 47 (-36.49%)
Mutual labels:  ecommerce, inventory-management, expressjs
react-full-stack-starter
🎈Full-stack React boilerplate using `create-react-app`, Babel, Node.js, and express
Stars: ✭ 22 (-70.27%)
Mutual labels:  expressjs, fullstack
mean-stack
MEAN stack Mongoose, Express, Angular6, Node
Stars: ✭ 22 (-70.27%)
Mutual labels:  expressjs, fullstack
Mevn Boilerplate
A fullstack boilerplate with Mongo, ExpressJS, VueJS and NodeJS.
Stars: ✭ 277 (+274.32%)
Mutual labels:  expressjs, fullstack
Laravel Ecommerce
AvoRed an Open Source Laravel Shopping Cart
Stars: ✭ 1,151 (+1455.41%)
Mutual labels:  ecommerce, shopping
dummy-products-api
An api to fetch dummy e-commerce product 👕 👗 👖 👚 JSON data with placeholder images.
Stars: ✭ 102 (+37.84%)
Mutual labels:  ecommerce, expressjs
awesome-ecommerce
Collect and develop Open Source or Free Projects for building ecommerce platform easy and fast and free
Stars: ✭ 39 (-47.3%)
Mutual labels:  ecommerce, shopping
ng-nest-cnode
Angular 10 Front-End and Nestjs 7 framework Back-End build Fullstack CNode
Stars: ✭ 17 (-77.03%)
Mutual labels:  expressjs, fullstack
Flutter Shopping Ui Kit
I developed this application just for learning purpose. There are over 20 screen variations.
Stars: ✭ 480 (+548.65%)
Mutual labels:  ecommerce, shopping
Yii2 fecshop
yii2 ( PHP ) fecmall(fecshop) core code used for ecommerce shop 多语言多货币多入口的开源电商 B2C 商城,支持移动端vue, app, html5,微信小程序微店,微信小程序商城等
Stars: ✭ 4,864 (+6472.97%)
Mutual labels:  ecommerce, shopping
Ecommerce Open Api
果酱小店:基于 Laravel + swoole + 小程序的开源电商系统,优雅与性能兼顾 : )
Stars: ✭ 546 (+637.84%)
Mutual labels:  ecommerce, shopping
GoGonicEcommerceApi
Ecommerce Rest API application built in Go with Gin Gonic + Gorm
Stars: ✭ 81 (+9.46%)
Mutual labels:  ecommerce, fullstack
fullstack-graphql-angular
Simple Fullstack GraphQL Application with Angular CLI + Redux. API built with Typescript + Express + GraphQL + Sequelize (supports MySQL, Postgres, Sqlite and MSSQL). WebApp built with Angular CLI + Redux + Async Middleware to access the API.
Stars: ✭ 67 (-9.46%)
Mutual labels:  expressjs, fullstack
Gogrocery
Its an eCommerce app inspired from Amazon , big Basket , grofers ,grocery app , Etc
Stars: ✭ 62 (-16.22%)
Mutual labels:  ecommerce, shopping
youphonic
an online musical machine interface for building and sharing soundscapes and musical compositions
Stars: ✭ 28 (-62.16%)
Mutual labels:  expressjs, fullstack
framework
Core package for avored shopping cart
Stars: ✭ 72 (-2.7%)
Mutual labels:  ecommerce, shopping
CliqApp
This is a e-commerce app build over react native runs over android & ios.
Stars: ✭ 64 (-13.51%)
Mutual labels:  ecommerce, shopping
cartify
Shopping Cart implementation to serve as a shell for building e-commerce apps | Angular 7, Node.js, MongoDB
Stars: ✭ 22 (-70.27%)
Mutual labels:  ecommerce, shopping
React Image Magnify
A responsive image zoom component designed for shopping sites.
Stars: ✭ 391 (+428.38%)
Mutual labels:  ecommerce, shopping
Naperg
Fullstack Boilerplate GraphQL. Made with React & Prisma + authentication & roles
Stars: ✭ 661 (+793.24%)
Mutual labels:  expressjs, fullstack

🛒   Shopping App 🛒

Built with MERN stack (MongoDB, Express, React and Node).

Shopping App, it started for The Odin Project practice Started from here curriculum The Code can be found here

⚡️⚡️⚡️   Live Demo ⚡️⚡️⚡️

📜   Table of contents

🚩   Main Features

This App was made to track the order state since the customer place it once it's shipped the seller mark it as shipped, and then the shipper mark it as delivered.

Project methodology

  • Register and signin system
    • Everyone is registered as a customer.
    • Customers can apply to be sellers. Picture
    • Shipper only created by the Admin.
    • Admins can create any other admins.
  • Product life cycle
    • A seller add a product.
    • A customer order some products, number in stock decreases.
    • The customer tracks the order's state since it's placed. Picture
    • Depends on the address the customer provided, the area shipper get notification. Picture
    • The product's seller get a notification about the order. Picture
    • The shipper pick the product, the seller mark it as shipped.
    • The shipper deliver the order, and mark it as delivered.
    • The customer may want to turn it back (to be done).
  • Other facilities
    • Users can edit their account info. Picture
    • Users can track their order's state. Picture
    • Users can add, delete or edit addresses. Picture
    • Users can have a wishlist with any amount of products. Picture

Users roles - Dashboard Picture

  • Customer
    • Sign up & login.
    • Switch the account to seller. Picture
    • Purchase order of any amount of products.
    • Tracking order state. Picture
    • Return order (To do).
  • Seller -> all above plus.
    • Add and edit his own products.
    • Receive notifications of the new orders the customer make (only his products).
    • Mark the orders the customers make as shipped when the Shipper takes it.
  • Shipper -> all above plus
    • Receive notifications of orders (According to the customer address provided).
    • Ship orders to the customer's address and mark the order as Delivered.
  • Admin -> all above plus
    • Add, Edit and Delete categories.
    • Add, Edit and Delete any products.
    • Create other Admins.
    • Create Shippers and add Shipper area he will be responsible for.
    • Restrict any user from all the permissions.

💹   Technologies

Project is created with:

Backend

  • Express
  • Mongoose
  • Json Web Token (For authentication)
  • bcryptjs (for data encryption)

Frontend

  • React JS
  • Redux (Manage app state)
  • React-router (To handle routing)
  • Axios (For http requests)
  • React Bootstrap
  • React-toastify (To handle success and error messages)
  • Formik (To handle forms state and validation)
  • Yup (To handle client side form validation)
  • Sass

💡   Key Concepts

  • MVC (Model-View-Controller)
  • CRUD operations
  • Authentication system
  • Encrypting passwords
  • Images handling using multer
  • OOP (Object Oriented Programming)

📈   UML Diagram

It's my first time to design a UML so maybe it sucks :D

UML Diagram

💻   Setup

To run this project, install it locally using npm:

$ cd inventory-application
$ npm install (install backend dependencies)
$ cd views
$ npm install (install frontend dependencies)
$ cd ..
$ npm run server (for Node server side development)
$ npm run client (for React client side development)
$ npm run dev (for both client and server side)

  ENV

  • PORT=
  • DB_URI=
  • JWT_SECRET=
  • CLOUDINARY_CLOUD_NAME=
  • CLOUDINARY_API_KEY=
  • CLOUDINARY_API_ESCRET=

Author

👤   Mohamed Elashmawy

📝   License

  • This project is MIT licensed.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].