{"id":13510210,"url":"https://github.com/moelashmawy/inventory-application","last_synced_at":"2025-03-30T15:30:55.498Z","repository":{"id":37902264,"uuid":"268921923","full_name":"moelashmawy/inventory-application","owner":"moelashmawy","description":"Shopping app using MERN stack","archived":false,"fork":false,"pushed_at":"2023-05-25T06:32:37.000Z","size":19728,"stargazers_count":258,"open_issues_count":35,"forks_count":99,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-01T10:35:15.815Z","etag":null,"topics":["ecommerce","expressjs","fullstack","inventory-management","mern-stack","mondodb","nodejs","reactjs","shopping"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moelashmawy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-06-02T22:30:48.000Z","updated_at":"2024-10-20T03:03:58.000Z","dependencies_parsed_at":"2024-01-13T19:25:47.785Z","dependency_job_id":"daf6832f-c242-441a-9bd5-79fb62abfc5c","html_url":"https://github.com/moelashmawy/inventory-application","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moelashmawy%2Finventory-application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moelashmawy%2Finventory-application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moelashmawy%2Finventory-application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moelashmawy%2Finventory-application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moelashmawy","download_url":"https://codeload.github.com/moelashmawy/inventory-application/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246338723,"owners_count":20761424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecommerce","expressjs","fullstack","inventory-management","mern-stack","mondodb","nodejs","reactjs","shopping"],"created_at":"2024-08-01T02:01:29.132Z","updated_at":"2025-03-30T15:30:50.490Z","avatar_url":"https://github.com/moelashmawy.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","reactjs"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e  🛒 \u0026nbsp; Shopping App 🛒 \u003c/h1\u003e\n\n\u003e Built with MERN stack (MongoDB, Express, React and Node).\n\n\u003e Shopping App, it started for The Odin Project practice\n\u003e Started from here [curriculum](https://www.theodinproject.com/courses/nodejs/lessons/inventory-application)\n\u003e The Code can be found [here](https://github.com/hamohuh/inventory-application)\n\n### \u003ch2 align=\"center\"\u003e ⚡️⚡️⚡️ \u0026nbsp; [Live Demo](https://afternoon-atoll-93127.herokuapp.com/) ⚡️⚡️⚡️ \u003c/h2\u003e\n\n## 📜 \u0026nbsp; Table of contents\n\n- [Main Features](#--main-features)\n- [Technologies](#--technologies)\n- [Key Concepts](#--key-concepts)\n- [UML Diagram](#--uml-diagram)\n- [Setup](#--setup)\n- [ENV](#-ENV)\n\n## 🚩 \u0026nbsp; Main Features\n\n\u003e This App was made to track the order state since the customer place it\n\u003e once it's shipped the seller mark it as shipped, and then the shipper mark it as delivered.\n\n#### Project methodology\n\n- **Register and signin system**\n  - Everyone is registered as a customer.\n  - Customers can apply to be sellers. [Picture](https://imgur.com/a0Jcmtf)\n  - Shipper only created by the Admin.\n  - Admins can create any other admins.\n- **Product life cycle**\n  - A seller add a product.\n  - A customer order some products, number in stock decreases.\n  - The customer tracks the order's state since it's placed. [Picture](https://imgur.com/9DqrnjF)\n  - Depends on the address the customer provided, the area shipper get notification. [Picture](https://imgur.com/Q2zWau2)\n  - The product's seller get a notification about the order. [Picture](https://imgur.com/2ZnjDLA)\n  - The shipper pick the product, the seller mark it as shipped.\n  - The shipper deliver the order, and mark it as delivered.\n  - The customer may want to turn it back (to be done).\n- **Other facilities**\n  - Users can edit their account info. [Picture](https://imgur.com/gAaF4rm)\n  - Users can track their order's state. [Picture](https://imgur.com/9DqrnjF)\n  - Users can add, delete or edit addresses. [Picture](https://imgur.com/YUWHMko)\n  - Users can have a wishlist with any amount of products. [Picture](https://imgur.com/XVBMsAB)\n\n#### Users roles - [Dashboard Picture](https://imgur.com/hn5QKlp)\n\n- **Customer**\n  - Sign up \u0026 login.\n  - Switch the account to seller. [Picture](https://imgur.com/a0Jcmtf)\n  - Purchase order of any amount of products.\n  - Tracking order state. [Picture](https://imgur.com/9DqrnjF)\n  - Return order (To do).\n- **Seller** -\u003e all above plus.\n  - Add and edit his own products.\n  - Receive notifications of the new orders the customer make (only his products).\n  - Mark the orders the customers make as shipped when the Shipper takes it.\n- **Shipper** -\u003e all above plus\n  - Receive notifications of orders (According to the customer address provided).\n  - Ship orders to the customer's address and mark the order as Delivered.\n- **Admin** -\u003e all above plus\n  - Add, Edit and Delete categories.\n  - Add, Edit and Delete any products.\n  - Create other Admins.\n  - Create Shippers and add Shipper area he will be responsible for.\n  - Restrict any user from all the permissions.\n\n## 💹 \u0026nbsp; Technologies\n\n\u003e Project is created with:\n\n#### Backend\n\n- Express\n- Mongoose\n- Json Web Token (For authentication)\n- bcryptjs (for data encryption)\n\n#### Frontend\n\n- React JS\n- Redux (Manage app state)\n- React-router (To handle routing)\n- Axios (For http requests)\n- React Bootstrap\n- React-toastify (To handle success and error messages)\n- Formik (To handle forms state and validation)\n- Yup (To handle client side form validation)\n- Sass\n\n## 💡 \u0026nbsp; Key Concepts\n\n- MVC (Model-View-Controller)\n- CRUD operations\n- Authentication system\n- Encrypting passwords\n- Images handling using multer\n- OOP (Object Oriented Programming)\n\n## 📈 \u0026nbsp; UML Diagram\n\n\u003e It's my first time to design a UML so maybe it sucks :D\n\n![UML Diagram](https://i.imgur.com/vGa9f8e.jpg)\n\n## 💻 \u0026nbsp; Setup\n\nTo run this project, install it locally using npm:\n\n```\n$ cd inventory-application\n$ npm install (install backend dependencies)\n$ cd views\n$ npm install (install frontend dependencies)\n$ cd ..\n$ npm run server (for Node server side development)\n$ npm run client (for React client side development)\n$ npm run dev (for both client and server side)\n```\n## \u0026nbsp; ENV\n- PORT=\n- DB_URI=\n- JWT_SECRET=\n- CLOUDINARY_CLOUD_NAME=\n- CLOUDINARY_API_KEY=\n- CLOUDINARY_API_ESCRET=\n\n\n# Author\n\n👤 \u0026nbsp; **Mohamed Elashmawy**\n\n- Twitter: [@hamohuh](https://twitter.com/hamohuh)\n- Github: [@moelashmawy](https://github.com/moelashmawy)\n- Linkedin: [@moelashmawy](https://www.linkedin.com/in/moelashmawy/)\n- Email: [ashmawy894@gmail.com](mailto:ashmawy894@gmail.com)\n\n## 📝 \u0026nbsp; License\n\n- This project is [MIT](./LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoelashmawy%2Finventory-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoelashmawy%2Finventory-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoelashmawy%2Finventory-application/lists"}