{"id":28178440,"url":"https://github.com/miladsadeghi/digibuy","last_synced_at":"2025-06-28T06:35:36.482Z","repository":{"id":37511296,"uuid":"499812794","full_name":"MiladSadeghi/DigiBuy","owner":"MiladSadeghi","description":"DigiBuy - Component-based Shopping website with CRM, Firebase realtime database and VanilaJS!!!","archived":false,"fork":false,"pushed_at":"2022-07-30T14:39:04.000Z","size":836,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-05T05:59:07.744Z","etag":null,"topics":["bootstrap","bootstrap-icon","component","html-css-javascript","javascript","lerning-js","shadowroot","vanila-javascript"],"latest_commit_sha":null,"homepage":"https://digibuy.miladsdgh.ir","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MiladSadeghi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-04T11:57:49.000Z","updated_at":"2022-07-30T14:45:47.000Z","dependencies_parsed_at":"2022-07-12T16:20:45.515Z","dependency_job_id":null,"html_url":"https://github.com/MiladSadeghi/DigiBuy","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiladSadeghi%2FDigiBuy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiladSadeghi%2FDigiBuy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiladSadeghi%2FDigiBuy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiladSadeghi%2FDigiBuy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MiladSadeghi","download_url":"https://codeload.github.com/MiladSadeghi/DigiBuy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254448569,"owners_count":22072765,"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":["bootstrap","bootstrap-icon","component","html-css-javascript","javascript","lerning-js","shadowroot","vanila-javascript"],"created_at":"2025-05-16T01:12:26.033Z","updated_at":"2025-05-16T01:14:02.862Z","avatar_url":"https://github.com/MiladSadeghi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ca href=\"\" rel=\"noopener\"\u003e\n \u003cimg src=\"https://s6.uupload.ir/files/digibuy_m56x.png\" alt=\"Digibuy demo\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003e\u003ca href=\"digibuy.miladsdgh.ir\" target=\"_blank\"\u003eDigiBuy\u003c/a\u003e\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"Github top language\" src=\"https://img.shields.io/github/languages/top/MiladSadeghi/DigiBuy?color=56BEB8\"\u003e\n\n  \u003cimg alt=\"Github language count\" src=\"https://img.shields.io/github/languages/count/MiladSadeghi/DigiBuy?color=56BEB8\"\u003e\n\n  \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/MiladSadeghi/DigiBuy?color=56BEB8\"\u003e\n\u003c/div\u003e\n\n---\n\n\u003cp align=\"center\"\u003e Open source shopping website with CRM!.\n    \u003cbr\u003e \n\u003c/p\u003e\n\n## 📝 Table of Contents\n\n- [About](#about)\n- [Getting Started](#getting_started)\n- [Built Using](#built_using)\n- [Project](#project)\n- [Warning](#warning)\n- [License](#license)\n- [Authors](#authors)\n\n## 🧐 About \u003ca name = \"about\"\u003e\u003c/a\u003e\n\nA store with CRM and full responsive. I call it Digibuy.also Firebase realtime database are used as database. \nIf you are new to front-end, you can consider this project as a stepping stone to the next step, which can be react or anything else.\n## 🏁 Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\n\nGenerally, you don't need to do anything special, you just need to install the packages by npm after clone.\n\n## ⛏️ Built Using \u003ca name = \"built_using\"\u003e\u003c/a\u003e\n\n- [Bootstrap](https://getbootstrap.com/) - CSS framework\n- [Bootstrap Icon](https://icons.getbootstrap.com/) - icons\n- [SASS](https://sass-lang.com/) - CSS Pre Processor\n\n\n## :card_file_box: Project \u003ca name = \"Project\"\u003e\u003c/a\u003e\n\ndigibuy is a component-based project, almost! The CRM section is complete and in the main sections, only the shopping cart and navbar are components, because they are used in most of the sections.\n\n#### basket \u0026 navbar\nWhen you enter the website, an id called guestID is created for you in the database and stored in the cookie. and stores the basket information in database. Then after login or registration, all contents will be transferred to your userID and removed from the cookie.\n\n```javascript\n  getUser() {\n    let userCookie = Object.fromEntries(document.cookie.split('; ').map(v =\u003e v.split(/=(.*)/s).map(decodeURIComponent))); // get all cookies\n    let id = this.uniqueID(); // create id\n    if(!userCookie.guestID \u0026\u0026 !userCookie.userTable) {\n      document.cookie = `guestID=${id};path=/;expires=${this.date}`;\n      this.userID = id;\n      // if its your first time open website, create guest id for you\n    } else if(userCookie.guestID \u0026\u0026 !userCookie.userTable) {\n      this.userID = userCookie.guestID;\n      this.db = \"guest\"\n      // if its not your first time, we put userID as your guestID.\n      // Then we find out that information should be taken from the guest table.\n    } else if(userCookie.userTable) {\n      this.guestID = userCookie.guestID;\n      this.userID = userCookie.userTable;\n      this.db = \"users\";\n      this.moveGuestBasket(userCookie.guestID, userCookie.userTable);\n      // if you are login or register, We do the same as the previous steps,\n      // with the difference that we set the database table as user and transfer all the information \n      // in the guest to the user.\n    }\n  }\n```\nThe basket section is separate from the navbar. navbar takes all the products and users once and if there is a logged-in user in the cookie, it will view the profile section. But if not, it goes to the login section. In the same way, the basket takes the user once, and on the product page, all the products.\n\n\u003e The navbar and basket components are located in the /src/components/ path\n\n\n## CRM\n\u003e To enter crm you need to go to /crm.\n\n#### Order Search\n\u003cimg src=\"https://s6.uupload.ir/files/digibuy.miladsdgh.ir_crm_checked_2323_q28f.png\"\u003e\nThis section is related to the search about the orders that the customers have registered. The search has different filters, orderID, userID, username, which are quite clear. Uncheck refers to orders that have not been checked yet, and Checked is the opposite. You can also click on the detail view to see the order information. In the detail section, you can change the number of products in the order, order status and payment amount.\n\n\n### User\n\u003cimg src=\"https://s6.uupload.ir/files/user_r51p.png\"\u003e\nAs it was said, all CRM parts are related to each other in the form of components, and if there is a search in a part, it means that a search must be done first in order to change or create something. This part, like all parts, has a filter. and when you click on view detail, you can change all the person's information.\n\n### Product\n\u003cimg src=\"https://s6.uupload.ir/files/23232322_i9gv.png\"\u003e\nIt consists of three parts, adding a product, changing a product, and searching for a product. In the search section, there are filters like the previous searches, to change a product, it is enough to hover over the product and click on the edit button, then you can change the product information or delete that product.\n\n### Comments\n\u003cimg src=\"https://s6.uupload.ir/files/digibuy.miladsdgh.ir_crm_(7)_umy8.png\"\u003e\nIn this section, you can see the comments and approve or reject them. You can also see which product has been commented on.\n\n### Pages\n\u003cimg src=\"https://s6.uupload.ir/files/main_page_bt0.png\"\u003e\nBy default, there is only the main page in this section. If you have an idea about other parts, open an issue and I will check it. On this page, you can change the slider and product offers.\nfor change the image slider of main page you should do something like that:\n\n```\n  PhotoLink 1, PhotoLink2, Search Query\n  PhotoLink 1 will be displayed for resolutions higher than 840px\n  PhotoLink 2 will be displayed for resolutions lower than 840px\n  Search Query is for the address where that picture wants to go\n```\n\nand for offer, you just need put the product id on the inputs\n\n### Log\n\u003cimg src=\"https://s6.uupload.ir/files/crm_(2)_67sx.png\"\u003e\nThe last part of CRM is the log. Through this page, you can find the cause of the problems.. (doesn't log do the same?)\n\n# :warning: Warning \u003ca name = \"warning\"\u003e\u003c/a\u003e\nDo not use the database I used in my project.\n\n\n## License\nMIT © [@miladsadeghi](https://github.com/MiladSadeghi)\n## ✍️ Authors \u003ca name = \"authors\"\u003e\u003c/a\u003e\n\n- [@miladsadeghi](https://github.com/MiladSadeghi) - Idea \u0026 Initial work\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiladsadeghi%2Fdigibuy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiladsadeghi%2Fdigibuy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiladsadeghi%2Fdigibuy/lists"}