{"id":21135717,"url":"https://github.com/furkan-dogu/productapi","last_synced_at":"2026-04-17T06:34:34.706Z","repository":{"id":233011368,"uuid":"785745300","full_name":"furkan-dogu/ProductAPI","owner":"furkan-dogu","description":"This project is a backend application developed using Express.js and MongoDB. The application is capable of performing basic CRUD (Create, Read, Update, Delete) operations such as managing products and users. Additionally, it handles common needs like session management and error handling.","archived":false,"fork":false,"pushed_at":"2024-05-01T16:14:29.000Z","size":159,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T12:45:16.482Z","etag":null,"topics":["cookie-session","cors","dotenv","express-async-errors","expressjs","mongoose","nodejs","redoc-express","swagger-ui-express"],"latest_commit_sha":null,"homepage":"https://product-api-kappa.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/furkan-dogu.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-04-12T14:31:49.000Z","updated_at":"2024-05-01T16:22:12.000Z","dependencies_parsed_at":"2024-04-30T17:41:37.878Z","dependency_job_id":"39b090e3-9e67-468c-891a-92ccdfbd9e2a","html_url":"https://github.com/furkan-dogu/ProductAPI","commit_stats":null,"previous_names":["furkan-dogu/productapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/furkan-dogu/ProductAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkan-dogu%2FProductAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkan-dogu%2FProductAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkan-dogu%2FProductAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkan-dogu%2FProductAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/furkan-dogu","download_url":"https://codeload.github.com/furkan-dogu/ProductAPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkan-dogu%2FProductAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31918727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cookie-session","cors","dotenv","express-async-errors","expressjs","mongoose","nodejs","redoc-express","swagger-ui-express"],"created_at":"2024-11-20T06:58:16.606Z","updated_at":"2026-04-17T06:34:34.680Z","avatar_url":"https://github.com/furkan-dogu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Product API\n\nThis project is a backend application developed using Express.js and MongoDB. The application is capable of performing basic CRUD (Create, Read, Update, Delete) operations such as managing products and users. Additionally, it handles common needs like session management and error handling.\n\n### ERD\n\n![ERD](./erd.png)\n\n## Table of Contents\n\n- [Technologies Used](#technologies-used)\n- [Documentation](#documentation)\n- [Endpoints](#endpoints)\n- [Project Skeleton](#project-skeleton)\n\n## Live Demo\n\n[Product API](https://product-api-kappa.vercel.app/)\n\n## Technologies Used\n\n- express\n- cors\n- dotenv\n- mongoose\n- express-async-errors\n- cookie-session\n- swagger-ui-express\n- redoc-express\n\n### Documentation\n\n- Swagger UI: [https://product-api-kappa.vercel.app/documents/swagger](https://product-api-kappa.vercel.app/documents/swagger)\n- Redoc: [https://product-api-kappa.vercel.app/documents/redoc](https://product-api-kappa.vercel.app/documents/redoc)\n- JSON Documentation: [https://product-api-kappa.vercel.app/documents/json](https://product-api-kappa.vercel.app/documents/json)\n\n## Endpoints\n\n### Users\n\n- `GET /user`: Lists all users.\n- `POST /user`: Creates a new user.\n- `GET /user/:userId`: Displays a specific user.\n- `PUT /user/:userId`: Updates information of a specific user.\n- `DELETE /user/:userId`: Deletes a specific user.\n- `POST /user/login`: Logs a user in.\n- `POST /user/logout`: Logs a user out.\n\n### Product Categories\n\n- `GET /categories`: Lists all product categories.\n- `POST /categories`: Creates a new product category.\n- `GET /categories/:categoryId`: Displays a specific product category.\n- `PUT /categories/:categoryId`: Updates information of a specific product category.\n- `DELETE /categories/:categoryId`: Deletes a specific product category.\n\n### Products\n\n- `GET /products`: Lists all products.\n- `POST /products`: Creates a new product.\n- `GET /products/:productId`: Displays a specific product.\n- `PUT /products/:productId`: Updates information of a specific product.\n- `DELETE /products/:productId`: Deletes a specific product.\n\n## Project Skeleton\n\n```\nProduct API (folder) \n│\n├── src\n│    ├── configs\n│    │     └── dbConnection.js\n│    ├── controllers\n│    │     ├── categoryController.js     \n│    │     ├── productController.js     \n│    │     └── userController.js\n│    ├── helpers   \n│    │     └── passwordEncrypt.js \n│    ├── middlewares \n│    │     ├── errorHandler.js \n│    │     ├── queryHandler.js   \n│    │     └── userControl.js \n│    ├── models                \n│    │     ├── categoryModel.js     \n│    │     ├── productModel.js     \n│    │     └── userModel.js\n│    ├── routes                \n│    │     ├── categoryRouter.js     \n│    │     ├── productRouter.js     \n│    │     └── userRouter.js\n│    └── sync.js\n├── .env\n├── .gitignore\n├── index.js\n├── package.json\n├── swagger.json\n├── swaggerAutogen.js\n└── README.md\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffurkan-dogu%2Fproductapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffurkan-dogu%2Fproductapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffurkan-dogu%2Fproductapi/lists"}