{"id":23228956,"url":"https://github.com/iamusmanawan/api_handling","last_synced_at":"2025-04-05T18:29:29.673Z","repository":{"id":268256929,"uuid":"902719976","full_name":"iAmUsmanAwan/API_Handling","owner":"iAmUsmanAwan","description":"Handling API's as they are handled in the production. Dealing with the race condition, and improving the efficiency of the APIs.","archived":false,"fork":false,"pushed_at":"2025-02-28T23:25:08.000Z","size":803,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T00:36:52.768Z","etag":null,"topics":["abort-controller","custom-react-query","query-parameter","race-conditions"],"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/iAmUsmanAwan.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":"2024-12-13T06:12:18.000Z","updated_at":"2025-02-28T23:25:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"17f4c496-cb7f-4c0a-bc88-39cc851e47ab","html_url":"https://github.com/iAmUsmanAwan/API_Handling","commit_stats":null,"previous_names":["iamusmanawan/api_handling"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAmUsmanAwan%2FAPI_Handling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAmUsmanAwan%2FAPI_Handling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAmUsmanAwan%2FAPI_Handling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAmUsmanAwan%2FAPI_Handling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iAmUsmanAwan","download_url":"https://codeload.github.com/iAmUsmanAwan/API_Handling/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247382752,"owners_count":20930159,"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":["abort-controller","custom-react-query","query-parameter","race-conditions"],"created_at":"2024-12-19T01:15:39.160Z","updated_at":"2025-04-05T18:29:29.663Z","avatar_url":"https://github.com/iAmUsmanAwan.png","language":"JavaScript","readme":"# 🚀 API Handling App\n\n## 🌟 Overview\nThis project is a demonstration of my expertise in building **full-stack applications** using modern technologies. The app consists of a **separate frontend (React)** and **backend (Node.js with Express.js)** to showcase API handling, data fetching, and efficient state management. \n\n## ✨ Features\n- 🛠️ **Backend API with Express.js**: Provides product data with search functionality.\n- 🎨 **Frontend with React**: Fetches data from the backend and implements a search feature.\n- 🔗 **Axios for API Calls**: Ensures efficient communication between frontend and backend.\n- ⏳ **Loading and Error Handling**: Implements loading states and error messages for a better user experience.\n- 🚦 **AbortController for Request Cancellation**: Prevents unnecessary API calls and handles request race conditions.\n\n## 🛠️ Technologies Used\n- ⚡ **Backend**: Node.js, Express.js\n- 🎭 **Frontend**: React, Axios\n- 🔄 **State Management**: React Hooks (useState, useEffect)\n\n## 🏁 Getting Started\n### 📥 Clone the Repository\n```sh\ngit clone https://github.com/iAmUsmanAwan/API_Handling.git\ncd API_Handling\n```\n\n### 🔧 Backend Setup\n```sh\ncd backend\nnpm install\nnpm start\n```\n- The server runs on `http://localhost:3000/api/products`\n\n### 💻 Frontend Setup\n```sh\ncd frontend\nnpm install\nnpm run dev\n```\n- The app runs on `http://localhost:5173`\n\n## 📌 API Endpoints\n- 📜 **Get All Products**: `GET /api/products`\n- 🔍 **Search Products**: `GET /api/products?search={query}`\n\n## 🤝 Contribute \u0026 Support\nIf you find this project helpful, please consider **starring the repository** ⭐ and **following me** on [GitHub](https://github.com/iAmUsmanAwan)! 🚀\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamusmanawan%2Fapi_handling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamusmanawan%2Fapi_handling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamusmanawan%2Fapi_handling/lists"}