{"id":19766249,"url":"https://github.com/akaliutau/inventory-system","last_synced_at":"2026-04-14T04:31:59.135Z","repository":{"id":38480197,"uuid":"277282737","full_name":"akaliutau/inventory-system","owner":"akaliutau","description":"An implementation of inventory system for warehouse with big number of items","archived":false,"fork":false,"pushed_at":"2023-10-10T20:05:44.000Z","size":1779,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T00:13:32.938Z","etag":null,"topics":["angular","inventory-service","react","spring-boot"],"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/akaliutau.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}},"created_at":"2020-07-05T10:56:40.000Z","updated_at":"2021-03-19T17:20:23.000Z","dependencies_parsed_at":"2022-08-20T08:10:30.289Z","dependency_job_id":null,"html_url":"https://github.com/akaliutau/inventory-system","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Finventory-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Finventory-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Finventory-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Finventory-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akaliutau","download_url":"https://codeload.github.com/akaliutau/inventory-system/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241099625,"owners_count":19909578,"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":["angular","inventory-service","react","spring-boot"],"created_at":"2024-11-12T04:23:32.481Z","updated_at":"2026-04-14T04:31:59.122Z","avatar_url":"https://github.com/akaliutau.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\n\nInventory Viewing system is a simple solution for managing inventory records. It consists from two parts: the back-end service and the front-end server.\n\nThe back-end service is built on the basis of Spring Boot with H2 in-memory database for persistence level. \n\nDue to potentially big amount of inventory records I decided to implement server-side variant of pagination: only a small subset of all records needed to be displayed is queried on server and returned to front-end side. This approach is considered to be the best practice when dealing with Big Data and will guarantee low response time for page and smooth UX, regardless of size of the database.\n\nBack-end has only one end-point at `` /api/v1/items``\n\nFull API Documentation for back-end server's API is available on http://localhost:9000/swagger-ui.html. Swagger UI works in the latest versions of Chrome, Safari, Firefox, and Edge.\n\nThe front-end server is implemented in two variants: using React 16 library, and the second one with the help of Angular framework. Both variants styled with Material Design.\nBy architecture front-end is a single-page application allowing to view and navigate through all available inventory records. Database is pre-populated with 10 sample records. Page-size limit is set to 5 records/page, just to demonstrate pagination functionality.\n\n\u003cbr/\u003e\n\n\n## Installation\n\nIn order to build and run both back-end and front-end the following prerequisites are needed:\n\n[node.js 12+ (npm 6.13+)](https://nodejs.org/en/download/)\n\n[JDK 8+](https://openjdk.java.net/)\n\n[Lombok](https://projectlombok.org/download)\n\n\n\u003cbr/\u003e\n\n## Building\n\nThis project is organized as a typical multi-module project with the following structure:\n\n\n+ \u003cb\u003e inventory-service \u003c/b\u003e --  module containing source code of back-end server\n\n+ \u003cb\u003e inventory-ui-react \u003c/b\u003e -- module containing source code of front-end server (React 16)\n\n+ \u003cb\u003e inventory-ui-angular \u003c/b\u003e -- module containing source code of front-end server (Angular 10)\n\n\n\n##### Building Back-end Server:\nRun from the project's root directory:\n``mvn clean package ``\n\n##### Building Front-end Server:\nRun from /inventory-ui-react directory (where the package.json is located):\n``npm install``\n\nRun from /inventory-ui-angular directory (where the package.json is located):\n``npm install``\n\n## Usage\n##### Back-end Server:\n\n- run ``org.warehouse.MainApp`` class using IDE\nor \n- run ``mvn spring-boot:run`` from /inventory-service directory using command line\n\nServer will start on localhost:9000 address. One can point browser to http://localhost:9000/swagger-ui.html to see API documentation\n\n\n##### Front-end Server:\n\n- run ``npm start`` from /inventory-ui-react directory, this will compile the React app and automatically launch it in the browser on the URL [http://localhost:3000](http://localhost:3000)\n\n- run ``npm start`` from /inventory-ui-angular directory, this will compile the Angular app, after that point your browser on the URL [http://localhost:4200](http://localhost:4200)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakaliutau%2Finventory-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakaliutau%2Finventory-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakaliutau%2Finventory-system/lists"}