{"id":21235783,"url":"https://github.com/codelur/ss0624","last_synced_at":"2026-05-12T16:02:26.112Z","repository":{"id":242299886,"uuid":"809198929","full_name":"codelur/ss0624","owner":"codelur","description":"Cardinal Tool Rental App","archived":false,"fork":false,"pushed_at":"2024-06-02T03:53:23.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T02:44:45.441Z","etag":null,"topics":["beans","enitity","java","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/codelur.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-06-02T01:53:04.000Z","updated_at":"2024-09-22T03:35:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"3f41135a-9379-450b-9f71-695a213d5143","html_url":"https://github.com/codelur/ss0624","commit_stats":null,"previous_names":["codelur/ss0624"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codelur/ss0624","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelur%2Fss0624","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelur%2Fss0624/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelur%2Fss0624/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelur%2Fss0624/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codelur","download_url":"https://codeload.github.com/codelur/ss0624/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelur%2Fss0624/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32946410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["beans","enitity","java","spring-boot"],"created_at":"2024-11-21T00:03:18.910Z","updated_at":"2026-05-12T16:02:26.096Z","avatar_url":"https://github.com/codelur.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"1. Project's Title:\n   \n          Reposiroty created for  Programming Demonstration\n          Cardinal Tool Rental App\n\n3. Project Description:\n   \n         The demonstration is to code and test a simple tool rental application.\n\n5. Project Requirements:\n   \n         ● The application is a point-of-sale tool for a store, like Home Depot, that rents big tools.\n         ● Customers rent a tool for a specified number of days.\n         ● When a customer checks out a tool, a Rental Agreement is produced.\n         ● The store charges a daily rental fee, whose amount is different for each tool type.\n         ● Some tools are free of charge on weekends or holidays.\n         ● Clerks may give customers a discount that is applied to the total daily charges to reduce the final charge.\n\n6. Project Components:\n   \n        Available Tools : Chainsaw, Ladder, Jackhammer\n        Brands: \n            Chainsaw -\u003e Stihl\n            Ladder -\u003e Werner\n            Jackhammer -\u003e DeWalt, Ridgid\n          \n        Charges:\n            Chainsaw -\u003e   Daily Charge: $1.99\n                          Weekday Charge: Yes\n                          Weekend Charge: Yes\n                          Holiday Charge: No\n                      \n            Ladder -\u003e     Daily Charge: $1.49\n                          Weekday Charge: Yes\n                          Weekend Charge: No\n                          Holiday Charge: Yes\n                      \n            Jackhammer -\u003e Daily Charge: $2.99\n                          Weekday Charge: Yes\n                          Weekend Charge: No\n                          Holiday Charge: No\n        \n         Holidays:  ● Independence Day, July 4th - If falls on weekend, it is observed on the closest weekday (if Sat, then Friday before, if Sunday, then Monday after)\n                    ● Labor Day- First Monday in September\n   \n8. HOW TO USE:\n   \n     Download and run on Eclipse IDE if necessary.\n\n10. Project modules:\n    \n      Located at src/main/java\n    \n           com.cardinal.tools:\n               Includes the classes for all the tools: Abstract class Tools and its children Chainsaw, Ladder and Jackhammer.\n               Includes 2 enums to include the available tool in the rental app and the attributes of each Tool:\n                       ToolCode: Includes the Tool Type and Brand for each Tool Code.\n                       ToolCharges: Includes the daily charge value and the booleans for weekday, weekend and holiday charge.\n  \n           com.cardinal.checkout:\n               Includes the classes required to create a RentalAgreement instance during on Checkout: Checkout and RentalAgreement\n               RentalAgreement class includes a .toString() method to print its attributes.\n  \n           com.cardinal.rental:\n               Irrelevant. It'd be used to run the app if necessary.\n\n  12. Project JUnit Tests:\n      \n       Located at src/test/java\n      \n           com.cardinal.rental\n               CheckOutTests:\n      \n                 ● Test 1: testJackhammerInvalidPercentage()\n                      //Jackhammer - 9/3/15 - 5 days - 101%\n      \n                          It throws an expection because the percentage is greater than 100.\n      \n                 ● Test 2: testLadderCharge3Days10PercentIndependenceDay()\n                      //Ladder - 7/2/20 - 3 days - 10%\n      \n                          Ladder charges weekends but doesnt charge holidays\n      \n                                    Chargeable days: 7/2/20, 7/4/20 (weekend)\n                                    Non-chargeable days: 7/3/20 (holiday)\n                                    Total chargeable days: 2\n                                    Total price: 2 * $1.99 - $0.40 (discount) = $3.58\n      \n                 ● Test 3: testChainsawCharge5Days25PercentIndependenceDay()\n                      //Chainsaw - 7/2/15 - 5 days - 25%\n      \n                          Chainsaw charges holidays but doesnt charge weekends\n      \n                                    Chargeable days: 7/2/15, 7/3/15 (holiday), 7/6/15\n                                    Non-chargeable days: 7/4/15 (weekend),7/5/15 (weekend)\n                                    Total chargeable days: 3\n                                    Total price: 3 * $1.49 - $1.12 (discount) = $3.35\n            \n                 ● **Test 4: testJackhammerCharge6DaysNoPercentLaborDay()**\n                      //Jackhammer - 9/3/15 - 6 days - 0%\n      \n                          Jackhammer doesnt charge weekends or holidays\n      \n                                    Chargeable days: 9/3/15, 9/4/15, 9/8/15\n                                    Non-chargeable days: 9/5/15 (weekend), 9/6/15 (weekend), 9/7/15 (holiday)\n                                    Total chargeable days: 3\n                                    Total price: 3 * $2.99 - $0 (discount) = $8.97\n            \n                 ● Test 5: testJackhammerCharge9DaysNoPercentIndependenceDay()\n                      //Jackhammer - 7/2/15 - 9 days - 0%\n      \n                          Jackhammer doesnt charge weekends or holidays\n      \n                                    Chargeable days: 7/2/15, 7/6/15, 7/7/15, 7/8/15, 7/9/15, 7/10/15\n                                    Non-chargeable days: 7/3/15 (holiday), 7/4/15 (weekend), 7/5/15 (weekend)\n                                    Total chargeable days: 6\n                                    Total price: 6 * $2.99 - $0 (discount) = $17.94\n            \n                 ● Test 6: testJackhammerCharge4Days50PercentIndependenceDay()\n                      //Jackhammer - 7/2/20 - 4 days - 50%\n      \n                          Jackhammer doesnt charge weekends or holidays\n      \n                                    Chargeable days: 7/2/20\n                                    Non-chargeable days: 7/3/20 (holiday), 7/4/20 (weekend), 7/5/20 (weekend)\n                                    Total chargeable days: 1\n                                    Total price: 1 * $2.99 - $1.50 (discount) = $1.49\n      \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelur%2Fss0624","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelur%2Fss0624","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelur%2Fss0624/lists"}