{"id":25729469,"url":"https://github.com/saravanan81java/resource-management-automation-system","last_synced_at":"2026-04-15T07:34:25.327Z","repository":{"id":274238314,"uuid":"922303022","full_name":"saravanan81java/resource-management-automation-system","owner":"saravanan81java","description":"Resource Management Automation System","archived":false,"fork":false,"pushed_at":"2025-02-21T23:41:22.000Z","size":340,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-28T19:08:15.495Z","etag":null,"topics":["java","jpa-hibernate","microservices","rest-api","springboot"],"latest_commit_sha":null,"homepage":"","language":"Java","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/saravanan81java.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-25T20:59:31.000Z","updated_at":"2025-02-21T23:41:25.000Z","dependencies_parsed_at":"2025-01-25T23:25:09.435Z","dependency_job_id":"c4275b54-c905-40ae-aa2b-5926155e4baa","html_url":"https://github.com/saravanan81java/resource-management-automation-system","commit_stats":null,"previous_names":["saravanan81java/resource-management-automation-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saravanan81java/resource-management-automation-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saravanan81java%2Fresource-management-automation-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saravanan81java%2Fresource-management-automation-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saravanan81java%2Fresource-management-automation-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saravanan81java%2Fresource-management-automation-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saravanan81java","download_url":"https://codeload.github.com/saravanan81java/resource-management-automation-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saravanan81java%2Fresource-management-automation-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31831844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T07:17:56.427Z","status":"ssl_error","status_checked_at":"2026-04-15T07:17:30.007Z","response_time":63,"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":["java","jpa-hibernate","microservices","rest-api","springboot"],"created_at":"2025-02-26T01:25:58.531Z","updated_at":"2026-04-15T07:34:25.299Z","avatar_url":"https://github.com/saravanan81java.png","language":"Java","readme":"# resource-management-automation-system\nResource Management Automation System\n\n# Set Up the Project\n\tA. Initialize Spring Boot Projects: \n\t   Use Spring Initializr to generate projects for each microservice.\n\t\t. Resource Service: Handles inventory and resource tracking.\n\t\t. User Service: Manages users (staff, volunteers, donors).\n\t\t. Notification Service: Sends alerts for low stock, new donations, etc.\n\t\t. API Gateway: Serves as a single entry point.\n\t\t. Config Server: Manages centralized configurations.\n\t\t. Service Registry (Eureka): Enables service discovery.\n\tB. Include dependencies:\n\t\t. Spring Web: For building REST APIs.\n\t\t. Spring Data JPA: For database operations.\n\t\t. Spring Cloud: For microservice orchestration.\n\t\t. Spring Boot Actuator: For monitoring.\n\t\t. H2 As the database.\n\t\t. Spring Security: For authentication/authorization.\n\n![plot](./Resource-GET-Request.png)\n  \n![plot](./Resource-POST-Request.png)\n\n#  Base URL\n\tEnsure your Spring Boot application is running locally or on a specific server. For example:\n\tBase URL: http://localhost:8080/resources\n#  Endpoints Configuration\n\tA. Get All Resources\n\t\t. Method: GET\n\t\t. URL: http://localhost:8080/resources\n\t\t. Headers: None (or add Content-Type: application/json if required)\n\t\t. Body: Not applicable\n\t\t. Expected Response:\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\"name\": \"Food Supplies\",\n\t\t\t\t\t\"quantity\": 100,\n\t\t\t\t\t\"category\": \"Food\",\n\t\t\t\t\t\"createdAt\": \"2025-01-01T12:00:00\",\n\t\t\t\t\t\"updatedAt\": \"2025-01-10T14:00:00\"\n\t\t\t\t}\n\t\t\t]\n\tB. Get Resource by ID\n\t\t. Method: GET\n\t\t. URL: http://localhost:8080/resources/{id} (e.g., http://localhost:8080/resources/1)\n\t\t. Headers: None\n\t\t. Body: Not applicable\n\t\t. Expected Response:\n\t\t\t{\n\t\t\t\t\"id\": 1,\n\t\t\t\t\"name\": \"Food Supplies\",\n\t\t\t\t\"quantity\": 100,\n\t\t\t\t\"category\": \"Food\",\n\t\t\t\t\"createdAt\": \"2025-01-01T12:00:00\",\n\t\t\t\t\"updatedAt\": \"2025-01-10T14:00:00\"\n\t\t\t}\n\tC. Add a New Resource\n\t\t. Method: POST\n\t\t. URL: http://localhost:8080/resources\n\t\t. Headers:\n\t\t. Content-Type: application/json\n\t\t. Body (Raw, JSON):\n\t\t\t{\n\t\t\t\t\"name\": \"Medical Kits\",\n\t\t\t\t\"quantity\": 25,\n\t\t\t\t\"category\": \"Medical\"\n\t\t\t}\n\t\t. Expected Response:\n\t\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"name\": \"Medical Kits\",\n\t\t\t\t\"quantity\": 25,\n\t\t\t\t\"category\": \"Medical\",\n\t\t\t\t\"createdAt\": \"2025-01-25T10:00:00\",\n\t\t\t\t\"updatedAt\": \"2025-01-25T10:00:00\"\n\t\t\t}\n\tD. Update an Existing Resource\n\t\t. Method: PUT\n\t\t. URL: http://localhost:8080/resources/{id} (e.g., http://localhost:8080/resources/2)\n\t\t. Headers:\n\t\t. Content-Type: application/json\n\t\t. Body (Raw, JSON): \n\t\t\t{\n\t\t\t\t\"name\": \"Medical Kits\",\n\t\t\t\t\"quantity\": 30,\n\t\t\t\t\"category\": \"Medical\"\n\t\t\t}\n\t\t.Expected Response:\n\t\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"name\": \"Medical Kits\",\n\t\t\t\t\"quantity\": 30,\n\t\t\t\t\"category\": \"Medical\",\n\t\t\t\t\"createdAt\": \"2025-01-25T10:00:00\",\n\t\t\t\t\"updatedAt\": \"2025-01-25T12:00:00\"\n\t\t\t}\n\tE. Delete a Resource\n\t\t. Method: DELETE\n\t\t. URL: http://localhost:8080/resources/{id} (e.g., http://localhost:8080/resources/2)\n\t\t. Headers: None\n\t\t. Body: Not applicable\n\t\tExpected Response: HTTP Status 204 No Content\n\tF. Search Resource by Name\n\t\t. Method: GET\n\t\t. URL: http://localhost:8080/resources/search?name={name} (e.g., http://localhost:8080/resources/search?name=Medical Kits)\n\t\t. Headers: None\n\t\t. Body: Not applicable\n\t\t. Expected Response:\n\t\t{\n\t\t\t\"id\": 2,\n\t\t\t\"name\": \"Medical Kits\",\n\t\t\t\"quantity\": 30,\n\t\t\t\"category\": \"Medical\",\n\t\t\t\"createdAt\": \"2025-01-25T10:00:00\",\n\t\t\t\"updatedAt\": \"2025-01-25T12:00:00\"\n\t\t}\n\tG. Filter Resources by Category\n\t\t. Method: GET\n\t\t. URL: http://localhost:8080/resources/filter?category={category} (e.g., http://localhost:8080/resources/filter?category=Medical)\n\t\t. Headers: None\n\t\t. Body: Not applicable\n\t\t. Expected Response:\n\t\t[\n\t\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"name\": \"Medical Kits\",\n\t\t\t\t\"quantity\": 30,\n\t\t\t\t\"category\": \"Medical\",\n\t\t\t\t\"createdAt\": \"2025-01-25T10:00:00\",\n\t\t\t\t\"updatedAt\": \"2025-01-25T12:00:00\"\n\t\t\t}\n\t\t]\n\n#  Save Collection in Postman\n\t1.Create a new collection in Postman called Resource Management API.\n\t2.Add each endpoint as a request under this collection.\n\t3.Set up environments in Postman (e.g., Localhost) to easily switch between base URLs.\n\n\tPOST /resources\n\t{\n\t\t\"name\": \"Rice\",\n\t\t\"category\": \"Food\",\n\t\t\"quantity\": 50,\n\t\t\"threshold\": 10\n\t}\n\n\n# User API Endpoints\n\tUse Postman or Swagger UI to test the APIs:\n\n\t. GET /users - Get all users.\n\t. POST /users - Add a new user.\n\t\t{\n\t\t\t\"username\": \"john_doe\",\n\t\t\t\"password\": \"password123\",\n\t\t\t\"email\": \"john.doe@example.com\",\n\t\t\t\"role\": \"ADMIN\"\n\t\t}\n\t. PUT /users/{id} - Update a user.\n\t. DELETE /users/{id} - Delete a user.\n\t. GET /users/search?username=john_doe - Find a user by username.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaravanan81java%2Fresource-management-automation-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaravanan81java%2Fresource-management-automation-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaravanan81java%2Fresource-management-automation-system/lists"}