{"id":23767444,"url":"https://github.com/egerion/loanapp_springboot_project_master","last_synced_at":"2026-04-11T19:31:58.285Z","repository":{"id":265368638,"uuid":"454681496","full_name":"Egerion/LoanApp_SpringBoot_Project_Master","owner":"Egerion","description":"A Restful web service project based on Spring Framework. Let's users to register system and apply for credit. Then returns the result.","archived":false,"fork":false,"pushed_at":"2022-02-02T07:32:33.000Z","size":781,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-01T00:37:55.942Z","etag":null,"topics":["hibern","java","java11-spring-boot","maven","react","spring","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Egerion.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}},"created_at":"2022-02-02T07:32:30.000Z","updated_at":"2024-09-09T10:15:23.000Z","dependencies_parsed_at":"2024-11-29T09:31:29.467Z","dependency_job_id":null,"html_url":"https://github.com/Egerion/LoanApp_SpringBoot_Project_Master","commit_stats":null,"previous_names":["egerion/loanapp_springboot_project_master"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egerion%2FLoanApp_SpringBoot_Project_Master","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egerion%2FLoanApp_SpringBoot_Project_Master/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egerion%2FLoanApp_SpringBoot_Project_Master/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egerion%2FLoanApp_SpringBoot_Project_Master/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Egerion","download_url":"https://codeload.github.com/Egerion/LoanApp_SpringBoot_Project_Master/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239946913,"owners_count":19723014,"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":["hibern","java","java11-spring-boot","maven","react","spring","spring-boot"],"created_at":"2025-01-01T00:38:11.108Z","updated_at":"2025-12-30T22:15:14.995Z","avatar_url":"https://github.com/Egerion.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cdiv style=\"height:120px;\"\u003e\n        \u003ch1 style=\"display:inline;color:red;\"\u003eLoan App\u003c/h1\u003e\n        \u003ch6\u003eby Ege Demirbaş\u003c/h6\u003e\n    \u003c/div\u003e\n    \u003cp align=\"center\"\u003e\n        \u003cimg src=\"https://www.aalpha.net/wp-content/uploads/2021/07/reactjs.gif\" width=\"15%\"/\u003e\n        \u003cimg src=\"https://upload.wikimedia.org/wikipedia/tr/2/2e/Java_Logo.svg\" width=\"4%\"/\u003e\n        \u003cimg src=\"./resources/images/hibernate.svg\" width=\"5%\"/\u003e\n        \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/1/10/CSS3_and_HTML5_logos_and_wordmarks.svg\" width=\"10%\"/\u003e \n        \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/b/ba/Javascript_badge.svg\" width=\"6%\"/\u003e\n        \u003ca\u003e\n            \u003ca style=\"margin-right:0px;margin-left:60px;color:green;\"\u003ePowered by\u003c/a\u003e\n            \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/4/44/Spring_Framework_Logo_2018.svg\" width=\"20%\"/\u003e\n        \u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## About\n\nA Restfull Application based on Spring Framework which consist of two sub projects. \nFirst project is back-end of the Loan App and the second one is the front-end part.\nApplication capabilities are:\n\n    - Registering to system as new user to apply for credit.\n    - Credit status inquiry.\n    - List of users registered into system.\n    - Informing users about their credit application result by sending sms to their registered phone numbers.\n\nProject's goal is available in [Project PDF](./2022_01_18_n11_TalentHub_Java_Spring_Bootcamp_Bitirme_Projesi.pdf)\n\n\u003cdiv\u003e\n    \u003cp align=\"center\"\u003e\n        \u003cimg src=\"./resources/images/credit-registry-page-01.png\"  width=\"45%\" text=\"Registration Page\"/\u003e\n        \u003cimg src=\"./resources/images/quer-page-01.png\" width=\"47%\" text=\"Inquiry Page\"/\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n## Technical Information\n\nProject consists of two sections; First section is back-end part of the project, which based on Spring Framework. Postgres SQL is getting used as database and Hibernate Framework handles the interaction.\n\nBackend part of the project is ready to deploy and currently configured to running at  \u003cspan style=\"color:red\"\u003elocalhost:8081\u003c/span\u003e.\n[Open Api Documentation](./openapi.json) is available in main folder.\n\n---\n\n### Back End\n\nHere are the list of services and entities exist inside of the back-end part.\n\n    Entities:\n            User\n            Credit\n    Controllers:\n            UserController\n            CreditController\n    Dao's(Data Access Objec):\n            UserDao\n            CreditDao\n    Dto's(Data Transfer Object):\n            UserDto\n    Converters:\n            UserConverter - converts userDto to user.\n    Exceptions:\n            UserNotFoundException\n            CreditNotFoundException\n    Enums:\n            Enum Credit Guarantee Type: determines whether user paid gurantee fee while applying for credit or not.\n                - Paid\n                - Not Paid\n            Enum Credit Result: determines the result of credit inquiry of a user.\n                - CREDIT_CONFIRMED\n                - CREDIT_REJECTED\n    Services:\n            UserEntityService\n            CreditEntityService\n            CreditModelService: Determines the credit amount and result by getting necessary information from user.\n            SmsMessageService: Pushes sms to user and informs It about the result of credit transaction.\n    General:\n            TestLog: logging progress of systems.\n\n\n#### Calculating The Credit Score\n\nCredit score calculation is based on simple algorithm that takes the age, salary and guranatee index from user and combines with pre-determined coefficients to obtain user credit score.\n\nMethod Name: \u003cspan style=\"color:red\"\u003eCalculateUserCredit\u003c/span\u003e\n```\ncredit score = ∑〖1.354 x ageIndex+ 0.85 x salaryIndex+2.1.2 x guaranteeIndex〗\n```\n\nonce the credit score is calculated, then \u003cspan style=\"color:red\"\u003eCreateUserCredit\u003c/span\u003e method is getting called and applies the rules that determined by our project and returns the result of user credit.\n\n#### Sending Text Message To User\n\nThe [Twilio Api](./resources/links/Twilio.url) is getting used to inform user about their credit application result. Once applied, user will recieve text message which contains information about the result of credit application along with It's amount...\n\n\u003cdiv\u003e\n    \u003cp align=\"center\"\u003e\n        \u003cimg src=\"./resources/images/message.jpg\"  width=\"30%\" text=\"User List Page\"/\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\nMaven, pom.xml configuration:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.twilio.sdk\u003c/groupId\u003e\n  \u003cartifactId\u003etwilio\u003c/artifactId\u003e\n  \u003cversion\u003e8.25.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n---\n\n## Front End\n\n\u003cdiv\u003e\n    \u003cp align=\"center\"\u003e\n        \u003cimg src=\"./resources/images/user-list-page-01.png\"  width=\"70%\" text=\"User List Page\"/\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\nFrontend is a React project, which serves as user interface. Here, new users can register to system and apply for credit. Pre-applied users can always inquiry their credit apply result by entering their user-identity number and date of births.\nNote that users can only apply once for credit.\n\nFrontend part of the project is ready to deploy and currently configured to running at  \u003cspan style=\"color:red\"\u003elocalhost:3030\u003c/span\u003e.\nTo deploy front-end project, you need to use fallowing command in the root project path.\n\n```node\nnpm start\n```\n\n## Unit Test\n\nThere are nine unit tests that convers all the potential cases of user credit application results to validate the functionality of credit application algorithm.\n\nList of Unit Tests:\n\n    1- shouldReturnRejectedCreditScore499 - validating the result of credit application.\n    2- shouldReturnConfirmedCreditScore500Salary4999 - validating the result of credit application.\n    3- shouldReturnConfirmedCreditScore500Salary4999AndGuaranteeFeePaid1000 - validating the cross conditions and returning result of an application.\n    4- shouldReturnConfirmedCreditScoreBetween500To1000Salary9999\n    5- shouldReturnConfirmedCreditScoreBetween500To1000Salary9999AndGuaranteeFeePaid1000\n    6- shouldReturnConfirmedCreditScoreBetween500To1000Salary15000\n    7- shouldReturnConfirmedCreditScoreBetween500To1000Salary15000AndGuaranteeFeePaid1000\n    8- shouldReturnConfirmedCreditScoreGreaterThanOrEqualTo1000Salary15000\n    9- shouldReturnConfirmedCreditScoreGreaterThanOrEqualTo1000Salary15000GuaranteeFee5000\n---\n\n## License\n\nLoan App is an application that created under the [MIT](https://opensource.org/licenses/gpl-3.0.html)\nlicense, see the [license](./LICENSE) file in the project root for the full license text.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegerion%2Floanapp_springboot_project_master","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegerion%2Floanapp_springboot_project_master","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegerion%2Floanapp_springboot_project_master/lists"}