{"id":20895927,"url":"https://github.com/atidevs/perishop","last_synced_at":"2026-04-01T17:35:00.115Z","repository":{"id":37859869,"uuid":"147094422","full_name":"atidevs/perishop","owner":"atidevs","description":"Perishop is an app that provides nearby shops for you to visit, put a like or dislike on it.","archived":false,"fork":false,"pushed_at":"2023-03-02T06:44:25.000Z","size":39671,"stargazers_count":0,"open_issues_count":15,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-03T12:24:46.153Z","etag":null,"topics":["angular","angularcli","backend","bootstrap4","bycryptjs","css3","expressjs","fontawesome-icons","frontend","html5","javascript","mongodb","mongoosejs","nodejs","passport-jwt","typescript"],"latest_commit_sha":null,"homepage":null,"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/atidevs.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-02T14:51:18.000Z","updated_at":"2021-10-12T10:39:06.000Z","dependencies_parsed_at":"2025-01-19T12:32:34.404Z","dependency_job_id":null,"html_url":"https://github.com/atidevs/perishop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/atidevs/perishop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atidevs%2Fperishop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atidevs%2Fperishop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atidevs%2Fperishop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atidevs%2Fperishop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atidevs","download_url":"https://codeload.github.com/atidevs/perishop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atidevs%2Fperishop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31036728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T07:48:52.080Z","status":"ssl_error","status_checked_at":"2026-03-27T07:48:19.562Z","response_time":164,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["angular","angularcli","backend","bootstrap4","bycryptjs","css3","expressjs","fontawesome-icons","frontend","html5","javascript","mongodb","mongoosejs","nodejs","passport-jwt","typescript"],"created_at":"2024-11-18T10:31:17.794Z","updated_at":"2026-04-01T17:35:00.071Z","avatar_url":"https://github.com/atidevs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Perishop App :\n    Perishop is a web app that provides you with 300+ Shops.\n---\n\n### I. Technology stack :\n\nPerishop app is built using the MEAN stack :\n\n        M: MongoDB (NoSQL / Non Relational database)\n        E: ExpressJs (Web application framework for building APIs)\n        A: Angular (Javascript MVC framework for front end web development)\n        N: NodeJs (Environment for running Javascript in the server side)\n\n### II. Front End :zap: Back End :\n\n#### 1. Front End :\n\n:open_file_folder: \u003cb\u003eclient-perishop/\u003c/b\u003e\n\n        Contains source code of the front end side :\n                - Components : client-perishop/src/app/components   \n                - Services : client-perishop/src/app/services\n                - Modules : client-perishop/src/app\n                - Package.json (dependencies)\n                - Angular CLI generated files\n        \n:open_file_folder: \u003cb\u003eclient/\u003c/b\u003e\n\n        This is the folder you need to try the app, please don't delete it.\n\n        It contains the project build after running :\n        \u003e ng build\n\n#### 2. Back End :\n\n:open_file_folder: \u003cstrong\u003eroutes/\u003c/strong\u003e\n\nContains two file : \n\n:page_with_curl: \u003cem\u003eshops.js\u003c/em\u003e :\n        \n        Handling Shops end points.\n                \n:page_with_curl: \u003cem\u003eusers.js\u003c/em\u003e :\n\n        Handling Users end points.\n\n---\n\n:open_file_folder: \u003cstrong\u003emodels/\u003c/strong\u003e\n\n:page_with_curl: \u003cem\u003eshops.js\u003c/em\u003e :\n\n        Holds the definition of Shop Model using Mongoose Schema, for querying the database and handling all CRUD operations that concerns shops records.\n\n:page_with_curl: \u003cem\u003eusers.js\u003c/em\u003e :\n\n        Holds the definition of User Model using Mongoose Schema, for querying the database and handling all CRUD operations that deals with users records.\n\n---\n\n:open_file_folder: \u003cstrong\u003econfig/\u003c/strong\u003e\n\n        Holds an Object with database path to connect to using mongoose.\n\n---\n\n:open_file_folder: \u003cstrong\u003edatabase/\u003c/strong\u003e\n\n        Holds the database folder where all records go and mongoDB journaling is saved.\n\n---\n:page_with_curl: \u003cem\u003eapp.js\u003c/em\u003e\n\n        Is the entry point to the app. It holds a set of imports among which : Express, Mongoose, BodyParser, Passport and other middleware.\n\n---\n\n\n\n### III. Features :\n*Perishop features are :*\n\n1. As a new user you can \u003cb\u003esign up\u003c/b\u003e,\n2. As a registered user you can \u003cb\u003elog in\u003c/b\u003e,\n3. As a registered user you can \u003cb\u003elog out\u003c/b\u003e,\n4. As a registered user you can access \u003cb\u003eNearby Shops\u003c/b\u003e (Nearby Shops),\n5. As a registered user you can \u003cb\u003elike\u003c/b\u003e a shop, therefore adding it to your \u003cb\u003ePreferred Shops\u003c/b\u003e (My Shops),\n6. As a registered user you can access your \u003cb\u003ePreferred Shops list\u003c/b\u003e (My Shops) that holds all \u003cb\u003eliked\u003c/b\u003e shops,\n7. As a registered user you can \u003cb\u003edislike\u003c/b\u003e a shop, thus not displaying it for \u003cb\u003e2 hours\u003c/b\u003e in the Nearby Shops list,\n8. As an \u003cb\u003eunregistered\u003c/b\u003e user you \u003cb\u003ecannot\u003c/b\u003e access any of the functionalities, but the \u003cb\u003ehome page\u003c/b\u003e.\n\n---   \n\n### IV. Setting up Perishop :\n\n1. Create a project folder :open_file_folder: (eg: perishopApp) and cd into it :\n\n        ~$ cd ..../perishopApp\n\n2. Clone the github repository in your project folder :open_file_folder: by running : \n        \n        ~$ .../perishopApp  // present working directory\n\n        git clone https://github.com/atidevs/perishop.git\n\n3. You need to have MongoDB installed : Community Server\n\n        https://www.mongodb.com/download-center?jmp=nav#community\n\n4. If you are on MacOS or Linux skip this step, if Windows download and install git :\n\n        https://git-scm.com/downloads\n\n5. Once MongoDB and git Installed, open up Git bash and cd into :\n\n        ~$ cd .../mongodb/bin   (... : wherever path you installed mongodb in, usually C:/mongodb/bin)\n\n    Then run this command :\n\n        ~$ mongod --dbpath=\".../perishopApp/perishop/database\"\n\n6. Open up another Git bash terminal :\n\n        ~$ cd .../perishopApp/perishop (... : wherever the path to your perishopApp folder is)\n\n    And then run this command :\n\n        ~$ start\n\n7. Open up your browser and go to :\n\n        localhost:3000\n\n8. Congrats! You are on the Home Page\n---\n\n### V. Playing around with the Database :\n    \nIf you want to check the records in the database follow these steps :\n\n1. Open up the command line (cmd) as an Administrator in windows or (terminal) in MacOS and Linux and run :\n        \n        \u003e mongo\n\n    Afterwards if you look at the Git bash terminal where you run :\n\n        ~$ mongod --dbpath=\".../perishopApp/perishop/database\"\n\n    You will see somewhere at the end (2 connections now open) : the first connection is from the app itself (When you run ~$ start) and the second is the one we just run : ( \u003e mongo ).\n    \u003cbr/\u003e\n    \n2. Now you can run these commands : \n\n        \u003e show dbs  // to show all available databases\n        \n        \u003e use perishop // to use the perishop database displayed among available dbs\n\n        \u003e show collections // to show all collections inside perishop db\n\n        \u003e db.users.find().pretty() // to list all signed up users and their information\n\n        \u003e db.shops.find().pretty() // to list all shops and their information\n\n3. Enjoy :v: :computer: \n        \n\n---\n### Screenshots :\n![alt text][img1]\n![alt text][img2]\n![alt text][img3]\n![alt text][img4]\n![alt text][img5]\n![alt text][img6]\n![alt text][img7]\n![alt text][img8]\n![alt text][img9]\n![alt text][img10]\n\n[img1]: ./app-img/home.png \"Perishop Home page image\"\n[img2]: ./app-img/login.png \"Perishop login page image\"\n[img3]: ./app-img/signup.png \"Perishop Signup page image\"\n\n[img4]: ./app-img/loggingIn.png \"Perishop while logging in image\"\n[img5]: ./app-img/homeAfterLogin.png \"Perishop Home page after logging in image\"\n[img9]: ./app-img/profile.png \"Perishop Profile page image\"\n[img6]: ./app-img/nearbyRadiusIssue.png \"Perishop Nearby Shops page image\"\n[img7]: ./app-img/nearbyShopsFound.png \"Perishop Nearby Shops page with loaded shops image\"\n[img8]: ./app-img/myshops.png \"Perishop My Shops page image\"\n\n[img10]: ./app-img/onLogOut.png \"Perishop On LogOut page image\"","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatidevs%2Fperishop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatidevs%2Fperishop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatidevs%2Fperishop/lists"}