{"id":23080676,"url":"https://github.com/chen0040/spring-websocket-angular-upload-excel-demo","last_synced_at":"2025-08-15T22:31:11.626Z","repository":{"id":85884808,"uuid":"117321704","full_name":"chen0040/spring-websocket-angular-upload-excel-demo","owner":"chen0040","description":"Demo on how to use spring websocket and angular for uploading large excel or csv files","archived":false,"fork":false,"pushed_at":"2018-01-15T04:35:51.000Z","size":978,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-04T14:06:56.355Z","etag":null,"topics":["angular-4","sockjs","spring-boot","upload-file","websocket"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chen0040.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2018-01-13T06:56:34.000Z","updated_at":"2019-05-17T08:00:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e385450-4477-4009-8f10-343413b877a0","html_url":"https://github.com/chen0040/spring-websocket-angular-upload-excel-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chen0040/spring-websocket-angular-upload-excel-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chen0040%2Fspring-websocket-angular-upload-excel-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chen0040%2Fspring-websocket-angular-upload-excel-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chen0040%2Fspring-websocket-angular-upload-excel-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chen0040%2Fspring-websocket-angular-upload-excel-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chen0040","download_url":"https://codeload.github.com/chen0040/spring-websocket-angular-upload-excel-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chen0040%2Fspring-websocket-angular-upload-excel-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270637924,"owners_count":24620430,"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","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"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":["angular-4","sockjs","spring-boot","upload-file","websocket"],"created_at":"2024-12-16T13:15:58.889Z","updated_at":"2025-08-15T22:31:11.604Z","avatar_url":"https://github.com/chen0040.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-websocket-angular-upload-excel-demo\n\nDemo project on how upload and process excel file in the spring boot + Web Socket + Angular 4\n\n# Features\n\n* Upload and process Excel file\n* Allow Async callback and websocket to report progress on loading data into database (mocked database used here)\n* Allow Large file upload and long running process using guava concurrency\n\n# Usage\n\n## If you are using IntelliJ\n\nOpen the project in IntelliJ\n\nGo to src/java/com.github.chen0040.bootslingshot and right-click SpringSlingshotApplication and select \"Run main()\" in IntelliJ\n\nNavigate to your web browser to http://localhost:9300\n\n\n## Angular 4 Application\n\nTo run the angular application that communicate with the spring-boot-application:\n\n\n```bash \ncd ng4-application\nnpm install\nng serve --proxy-config proxy.conf.json --host 0.0.0.0 --disable-host-check --port 8080\n```\n\nThis will start the angular application at http://localhost:8080\n\nAfter the angular site is launched, if you have not login before, click the login button on the page, you can authenticate using\nany account below:\n\n* username: admin password: admin\n* username: user password: user\n\nThe websocket implementation that subscribe to \"/topics/\" + token + \"/event\" websocket topic of the spring-boot-application can be found in the app.service.ts and app.component.ts\n\nOnce at http://localhost:8080, click \"Excel Sample Download\" to download a csv sample, then click \"Choose File\" to load the\ndownloaded Excel sample,and then click \"Upload Excel\", you will notice that as the product is being saved on the remote server,\nthe web page keeps on updating the progress (done using websocket and sockjs). At the backend, the Thread.sleep is used to simulate\nlong running process.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchen0040%2Fspring-websocket-angular-upload-excel-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchen0040%2Fspring-websocket-angular-upload-excel-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchen0040%2Fspring-websocket-angular-upload-excel-demo/lists"}