{"id":15531912,"url":"https://github.com/mailsg/crudlib","last_synced_at":"2025-03-28T22:26:01.868Z","repository":{"id":206487190,"uuid":"716652218","full_name":"mailsg/crudlib","owner":"mailsg","description":"A backend service to perform CRUD operations.","archived":false,"fork":false,"pushed_at":"2023-11-10T12:40:15.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T08:49:47.996Z","etag":null,"topics":[],"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/mailsg.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}},"created_at":"2023-11-09T15:29:37.000Z","updated_at":"2023-11-09T15:38:07.000Z","dependencies_parsed_at":"2023-11-10T15:06:38.946Z","dependency_job_id":null,"html_url":"https://github.com/mailsg/crudlib","commit_stats":null,"previous_names":["mailsg/crudlib"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mailsg%2Fcrudlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mailsg%2Fcrudlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mailsg%2Fcrudlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mailsg%2Fcrudlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mailsg","download_url":"https://codeload.github.com/mailsg/crudlib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246108015,"owners_count":20724647,"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":[],"created_at":"2024-10-02T11:28:37.128Z","updated_at":"2025-03-28T22:26:01.850Z","avatar_url":"https://github.com/mailsg.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- TABLE OF CONTENTS --\u003e\n\n# 📗 Table of Contents\n\n- [📖 About the Project](#about-project)\n  - [🛠 Built With](#built-with)\n    - [Tech Stack](#tech-stack)\n    - [Key Features](#key-features)\n- [💻 Getting Started](#getting-started)\n  - [Setup](#setup)\n  - [Prerequisites](#prerequisites)\n  - [Setup](#setup)\n  - [Install](#install)\n  - [Usage](#usage)\n- [👥 Author](#author)\n- [🤝 Contributing](#contributing)\n- [⭐️ Show your support](#support)\n- [🙏 Acknowledgements](#acknowledgements)\n- [📝 License](#license)\n\n\u003c!-- PROJECT DESCRIPTION --\u003e\n\n# Bookstore API \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**Bookstore API** is a backend service used to perform CRUD operation with books. It is built with NodeJS and uses MongoDB as the database.\n\n\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eServer\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://nodejs.org/en/\"\u003eNodeJS\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDatabase\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://www.mongodb.com/\"\u003eMongoDB\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003c!-- Features --\u003e\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- **API Endpoints to perform CRUD operations**\n- **Database deployment on Mongo Atlas**\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nTo get a local copy up and running, follow these steps.\n\n### Prerequisites\n\n### Setup\n\nClone this repository to your desired folder:\n\n```sh  \n  git clone https://github.com/mailsg/crudlib.git\n  cd crudlib  \n```\n\n### Install\n\nInstall this project by executing the following commands. Since its an Open API, there is no need to set up any API keys:\n\n```sh\n  cd crudlib\n\n  npm install\n\n  touch .env\n    `Add the following lines to the .env file`\n      MONGODB_URI=`Your MongoDB-Atlas URI (mongodb+srv)`\n      DATABASE_NAME=`Your MongoDB Database Name`\n      COLLECTION_NAME=`Your MongoDB Collection Name`\n\n  - Please note that the above 3 variables are mandatory for the project to run.\n\n  - I have used Database Name as `library` and Collection Name as `books` for this project. You can use any name of your choice or use the same as mine.\n  \n  - The database and collection has to be created manually in MongoDB Atlas.\n```\n\n### Usage\n\nTo run the project, execute the following command:\n\n```sh\n  npm start\n```\n\nBelow are the Endpoints to perform CRUD operations:\n- **GET** `http://localhost:3000/api/books` - Get all books\n- **GET** `http://localhost:3000/api/books/:id` - Get a book by id\n- **POST** `http://localhost:3000/api/books` - Create a new book\n    - **Request Body**\n      ```json\n      {\n        \"title\": \"Book Title\",\n        \"author\": \"Book Author\",\n        \"summary\": \"Book Summary\"\n      }\n      ```\n- **PUT** `http://localhost:3000/api/books/:id` - Update a book by id\n    - **Request Body** (Any or all of the following)\n      ```json\n      {\n        \"title\": \"Book Title\", \n        \"author\": \"Book Author\",\n        \"summary\": \"Book Summary\"\n      }\n      ```\n- **DELETE** `http://localhost:3000/api/books/:id` - Delete a book by id\n\n\u003c!-- AUTHORS --\u003e\n\n👤 **Sandeep Ghosh**\n\n- GitHub: [@mailsg](https://github.com/mailsg)\n- LinkedIn: [LinkedIn](https://linkedin.com/in/sandeep0912)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](../../issues/).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- SUPPORT --\u003e\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nIf you like this project consider leaving a star to the repository.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\nThank you for giving me the opportunity to showcase my skills.   \n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](./MIT.md) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmailsg%2Fcrudlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmailsg%2Fcrudlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmailsg%2Fcrudlib/lists"}