{"id":26204669,"url":"https://github.com/fisayo-dev/shopping_app_api","last_synced_at":"2026-04-05T23:31:53.186Z","repository":{"id":281944499,"uuid":"944770657","full_name":"fisayo-dev/shopping_app_api","owner":"fisayo-dev","description":"A web Api for a shopping app built with Node.js and Express","archived":false,"fork":false,"pushed_at":"2025-03-21T20:35:47.000Z","size":75,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T21:27:42.887Z","etag":null,"topics":["express","mongodb","nodejs"],"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/fisayo-dev.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":"2025-03-07T23:49:14.000Z","updated_at":"2025-03-21T20:35:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"07f8881c-c1b2-4952-8192-59098db548b6","html_url":"https://github.com/fisayo-dev/shopping_app_api","commit_stats":null,"previous_names":["fisayo-dev/shopping_app_api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fisayo-dev/shopping_app_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisayo-dev%2Fshopping_app_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisayo-dev%2Fshopping_app_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisayo-dev%2Fshopping_app_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisayo-dev%2Fshopping_app_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fisayo-dev","download_url":"https://codeload.github.com/fisayo-dev/shopping_app_api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisayo-dev%2Fshopping_app_api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259638501,"owners_count":22888448,"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":["express","mongodb","nodejs"],"created_at":"2025-03-12T04:25:09.736Z","updated_at":"2025-12-30T22:35:20.933Z","avatar_url":"https://github.com/fisayo-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛍️ Shopping App API  \n\nA robust and scalable API for a shopping application, built using **Node.js** and **MongoDB**. This API provides essential functionalities for managing products, user authentication, orders, payments, carts and more.\n\n## 🚀 Features  \n\n- **User Authentication** (JWT-based login \u0026 signup)  \n- **Product Management** (CRUD operations)  \n- **Admin Control \u0026 Access** \n- **Cart \u0026 Order Management**  \n- **Payment Integration (coming soon)** (Stripe, Flutterwave, or preferred gateway)  \n- **Wishlist \u0026 Favorites (coming soon)**  \n- **Secure \u0026 Optimized API Endpoints**  \n\n## 🏗️ Tech Stack  \n\n- **Backend:** Node.js, Express.js  \n- **Database:** MongoDB (Mongoose ORM)  \n- **Authentication:** JSON Web Tokens (JWT)  \n- **Payments:** Stripe / PayStack  \n- **API Documentation:** Swagger / Postman  \n- **API Agent:** HTTPie / Any other alternative  \n\n## 📦 Installation  \n\n1. Clone the repository:  \n   ```bash\n   git clone https://github.com/fisayo-dev/shopping-app-api.git\n   cd shopping-app-api\n2. Clone the repository:  \n   ```bash\n   npm install\n3. Set up environment variables: \u003cbr/\u003e Create a .env file and add the following: \n    ```env\n    MONGO_URI=your_mongodb_connection_string\n    JWT_SECRET=your_secret_key\n    STRIPE_SECRET=your_stripe_secret_key\n4. Start Server\n    - __Local__:\n        ```bash\n        npm start\n    - __Development__:\n        ```bash\n        npm run dev #uses nodemom\n\n## 📌 API Endpoints  \n\n| Method | Endpoint              | Description                    |\n|--------|----------------------|--------------------------------|\n| POST   | `/api/v1/admin/sign-up`   | Register a new admin           |\n| POST   | `/api/v1/admin/sign-in`    | Authenticate admin              |\n| POST   | `/api/v1/auth/sign-up`   | Register a new user           |\n| POST   | `/api/v1/auth/sign-in`    | Authenticate user              |\n| GET   | `/api/v1/users/`    | Get all Users (admin only)              |\n| GET   | `/api/v1/users/:id`    | Get  user details              |\n| PUT   | `/api/v1/users/:id`    | Edit  user details              |\n| DELETE   | `/api/v1/users/:id`    | Delete  user               |\n| GET    | `/api/v1/products`      | Fetch all products            |\n| POST   | `/api/v1/products`      | Add a new product (admin only)             |\n| PUT    | `/api/v1/products/:id`  | Update a product (admin only)              |\n| DELETE | `/api/v1/products/:id`  | Delete a product (admin only)              |\n| GET    | `/api/v1/orders/my-orders`      | Fetch all orders            |\n| POST   | `/api/v1/orders/make`      | Add a new order             |\n| GET    | `/api/v1/carts`    | Get items in cart             |\n| POST   | `/api/v1/carts`        | Create an item in cart               |\n| PUT   | `/api/v1/carts`        | Update cart quantity               |\n| DELETE   | `/api/v1/carts/clear`        | Clear all item in cart               |\n| DELETE   | `/api/v1/carts/remove/:id`        | Delete specific item in cart               |\n| GET    | `/api/v1/category`    | Get all categories            |\n| POST   | `/api/v1/category`        | Create a new category               |\n| PUT   | `/api/v1/category/:id`        | Update category text               |\n| DELETE   | `/api/v1/category/:id`        | Delete a category item               |\n\n## 🔐 Authentication\n\n\u003cp\u003e\nThis API uses JWT authentication. After logging in, users receive a token, which they must include in requests requiring authentication.\n\u003c/p\u003e\nExample request with JWT token:\n    ```http\n    GET /api/v1/carts\n    Authorization: Bearer your_jwt_token\n\n## 💳 Payments\nThe API supports payment processing via Paystack or Flutterwave. Ensure you configure your API keys correctly in the .env file.\n\n## 📝 Contributions\nContributions are welcome! Feel free to fork this repo, submit issues, or create pull requests.\n\n## 📄 License\nThis project is licensed under the MIT License.\n```sql\nCopy and paste this into your `README.md` file. Let me know if you need any modifications! 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffisayo-dev%2Fshopping_app_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffisayo-dev%2Fshopping_app_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffisayo-dev%2Fshopping_app_api/lists"}