{"id":23929444,"url":"https://github.com/sendistephen/shopping_basket_api","last_synced_at":"2026-04-13T19:31:07.384Z","repository":{"id":40797627,"uuid":"189994102","full_name":"sendistephen/shopping_basket_api","owner":"sendistephen","description":"This is a shopping basket rest API written in Node.js with the help of the express.js framework","archived":false,"fork":false,"pushed_at":"2023-01-07T08:57:31.000Z","size":3928,"stargazers_count":0,"open_issues_count":22,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T01:50:32.052Z","etag":null,"topics":["expressjs","mongodb","mongoose","nodejs","rest-api"],"latest_commit_sha":null,"homepage":"https://shopping-basket-api.vercel.app","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/sendistephen.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}},"created_at":"2019-06-03T11:41:47.000Z","updated_at":"2023-06-13T23:18:58.000Z","dependencies_parsed_at":"2023-02-06T17:47:43.026Z","dependency_job_id":null,"html_url":"https://github.com/sendistephen/shopping_basket_api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sendistephen/shopping_basket_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendistephen%2Fshopping_basket_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendistephen%2Fshopping_basket_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendistephen%2Fshopping_basket_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendistephen%2Fshopping_basket_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sendistephen","download_url":"https://codeload.github.com/sendistephen/shopping_basket_api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendistephen%2Fshopping_basket_api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31768635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"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":["expressjs","mongodb","mongoose","nodejs","rest-api"],"created_at":"2025-01-05T23:18:18.836Z","updated_at":"2026-04-13T19:31:07.364Z","avatar_url":"https://github.com/sendistephen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SHOPPING BASKET REST API\n\n[![Build Status](https://travis-ci.org/sendistephen/shopping_basket_api.svg?branch=develop)](https://travis-ci.org/sendistephen/shopping_basket_api) [![Maintainability](https://api.codeclimate.com/v1/badges/fdd7818f671514fff2e8/maintainability)](https://codeclimate.com/github/sendistephen/shopping_basket_api/maintainability) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/11edf48745ef45d58a26b798a419bc35)](https://app.codacy.com/app/sendistephen/shopping_basket_api?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=sendistephen/shopping_basket_api\u0026utm_campaign=Badge_Grade_Dashboard) [![Coverage Status](https://coveralls.io/repos/github/sendistephen/shopping_basket_api/badge.svg)](https://coveralls.io/github/sendistephen/shopping_basket_api) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://github.com/facebook/jest) [![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)\n\nShopping Basket is an application that helps users create a list of items they want to buy so that they can keep track of them\n\n## Documentation\nThis is the link to the api documentation [here](https://shoppingbasketapi.docs.apiary.io/)\n\n## Key Features\n\n-   User can create an account and login\n-   User can create,view,update and delete a shopping basket\n-   User can create, view update and delete an item from a shopping basket\n\n## Tools\n\n-   [Apiary](https://apiary.io/) - used for documenting the api\n-   [Express.js](https://expressjs.com/) - a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.\n-   [MongoDB](https://www.mongodb.com/) - MongoDB is a document database with the scalability and flexibility of querying and indexing data\n-   [Mongoose](https://mongoosejs.com) - Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js\n-   [Jest](https://jestjs.io/docs/en/getting-started) - Jest is an open JavaScript testing library from Facebook\n-   [Node]() - Node is JavaScript run-time environment that executes JavaScript code outside of a browser\n\n## Getting started\n\nMake sure you have Node.js(v10.16.0), npm(v6.9.0) \u0026 mongodb installed on your machine\n\n### Clone this repository and cd into it\n\n```sh\ngit clone https://github.com/sendistephen/shopping_basket_api.git \u0026\u0026 cd shopping_basket_api\n```\n\n### Install all project dependencies\n\n```sh\nnpm install\n```\n\n### Mongo connection setup\n\nEdit your /config/default.json file to include the correct MongoDB URI\n\n### Setup environment variables\n\nCopy and paste the info below in your terminal respectively\n\nMAC\n\n```sh\nexport shoppingbasket_secretOrPrivateKey=yoursecretkey\n```\n\nWINDOWS\n\n```sh\nset shoppingbasket_secretOrPrivateKey=yoursecretkey\n```\n\n### Start the Application\n\n```sh\nnpm run dev  # Runs on http://localhost:9000\n```\n\n### To run tests\n\n```sh\nnpm run test\n```\n\n### Working Endpoints\n\n| Endpoint                            | Functionality                                            | Access  |\n| ----------------------------------- | -------------------------------------------------------- | ------- |\n| POST /api/v1/users                  | Registers a User                                         | Public  |\n| POST /api/v1/auth                   | Login a user                                             | Public  |\n| POST /api/v1/baskets                | Create a new basket                                      | Private |\n| GET /api/v1/baskets                 | Get all baskets created by user.                         | Private |\n| PUT /api/v1/baskets/:id             | Updates a basket with a given id                         | Private |\n| GET /api/v1/baskets/:id/items       | Gets items of a specific basket given its id             | Private |\n| POST /api/v1/baskets/:id/items      | Adds items to a specific basket with the given basket id | Private |\n| DELETE /api/v1/baskets/:id/item/:id | Deletes an item from the basket                          | Private |\n| PUT /api/v1/baskets/:id/item/:id    | Updates a basket item on a given basket                  | Private |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsendistephen%2Fshopping_basket_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsendistephen%2Fshopping_basket_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsendistephen%2Fshopping_basket_api/lists"}