{"id":22173840,"url":"https://github.com/puneethkumarck/hackathon","last_synced_at":"2025-10-12T19:43:55.575Z","repository":{"id":129140535,"uuid":"126626271","full_name":"Puneethkumarck/Hackathon","owner":"Puneethkumarck","description":"Contains my solution for hackthon participation","archived":false,"fork":false,"pushed_at":"2018-03-26T17:32:11.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-26T13:38:17.953Z","etag":null,"topics":[],"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/Puneethkumarck.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":"2018-03-24T18:02:03.000Z","updated_at":"2018-03-26T17:32:12.000Z","dependencies_parsed_at":"2023-07-26T23:09:10.692Z","dependency_job_id":null,"html_url":"https://github.com/Puneethkumarck/Hackathon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Puneethkumarck/Hackathon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Puneethkumarck%2FHackathon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Puneethkumarck%2FHackathon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Puneethkumarck%2FHackathon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Puneethkumarck%2FHackathon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Puneethkumarck","download_url":"https://codeload.github.com/Puneethkumarck/Hackathon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Puneethkumarck%2FHackathon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279012675,"owners_count":26085159,"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-10-12T02:00:06.719Z","response_time":53,"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":[],"created_at":"2024-12-02T07:35:46.533Z","updated_at":"2025-10-12T19:43:55.545Z","avatar_url":"https://github.com/Puneethkumarck.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hackathon\n\nThis repoitory contains my solution for hackathon organised by my company for SpringBoot.\n\nBelow is the Hackthon Problem detial\n====================================\n### Easy Fashions is a very small online eCom unit that sells clothing and accessories. Rest APIs are built on Spring boot framework to address the below mentioned functions. Write Unit Test cases using Junit , MockMVC and Mockito. \n\n#### 16 hours duration to solve the problem hosted in hacker rank\n\n\n### Function related to Products, Brands and Categories\n- Load Master data to database\n- Get all Products available in the db\n- Get all Brands available in the db\n- Get all Categories available in the db\n- Get all Stores available in the db\n- Retrieve Product details by ID\n- Retrieve brand details by ID\n- Retrieve category details by ID\n- Retrieve Product details for a specific Brand from db\n- Retrieve Product details for a specific Category from db\n- Delete  Product data from db\n- Insert new product to db\n- Update product details in db\n- Insert new brand to db\n- Update brand details in db\n- Insert new category to db\n- Update category details in db\n \n\n### Functions related to Cart , Savings, Offers \n\n- Add product items to cart\n- Delete cart Items\n- Retrieve all cart items in a cart for a specific user\n- Get Total Savings on all cart items for a User\n- Update Cart items in a cart for a User\n \n\n### Pricing policies\nThese policies are defined based on the offers redeemed. Offers/ Discounts Rules are defined at a Product level along with the order of priority. \nSome of the pricing policies used are \n\n- Bundle Pricing \n- Group Pricing\n- Degressive Pricing\n- Promotion Pricing\n \n\n### Database Used\n\nIn memory H2 database is configured as an internal testing db. Some of the Entities are \n\n- User\n- Product\n- Brand\n- Category\n- Store\n- Offer\n- Cart\n- CartItem\n \n\n### Test data\nTest data for Master tables can be loaded from json files\n\n- product.json\n- brand.json\n- category.json\n- store.json\n- user.json\n \n### Instructions for Starting a Web Server and Viewing the App\n\nFor Starting a webserver of your application click on Project ---\u003e Run \nFor viewing your application click on Preview App\n \n\n### Instructions for Running Test Cases\n\nCode coverage and quality reports are generated as a part of Maven Install command.\nClick on Project --\u003e Test to rungenerage the test coverage and quality reports.\nCoverage Report is available in /target/site/Jacoco folder. \nCode checkstyle report can be viewed in /target/checkstyle-result.xml. \nNote : Any syntax errors or invalid statements or failures in your test cases, will stop generating above mentioned test report files.\n \n\n### Parameters considered for Scoring\n\nUnit Test Cases\nCode Coverage\nCode quality\nInstructions\nComplete the project in the editor by writing the necessary code to satisfy the given requirements and pass all tests.\nInstall build dependencies by clicking Project \u003e Install.\nRun code by clicking Project \u003e Run.\nRun tests by clicking Project \u003e Test.\nIf the project exposes a web service, view the application website by clicking Project \u003e Visit App.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuneethkumarck%2Fhackathon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuneethkumarck%2Fhackathon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuneethkumarck%2Fhackathon/lists"}