{"id":20411048,"url":"https://github.com/yanamlnk/simple-banking-system","last_synced_at":"2026-04-29T12:39:51.802Z","repository":{"id":192098239,"uuid":"686003821","full_name":"yanamlnk/simple-banking-system","owner":"yanamlnk","description":"Project created during Java Backend Developer track provided by Hyperskill","archived":false,"fork":false,"pushed_at":"2023-09-01T16:39:33.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T13:10:57.945Z","etag":null,"topics":["gradle","java","sqlite"],"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/yanamlnk.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}},"created_at":"2023-09-01T14:02:56.000Z","updated_at":"2023-09-01T16:40:40.000Z","dependencies_parsed_at":"2023-09-02T14:59:17.793Z","dependency_job_id":null,"html_url":"https://github.com/yanamlnk/simple-banking-system","commit_stats":null,"previous_names":["yanamlnk/simple-banking-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fsimple-banking-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fsimple-banking-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fsimple-banking-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanamlnk%2Fsimple-banking-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yanamlnk","download_url":"https://codeload.github.com/yanamlnk/simple-banking-system/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241955047,"owners_count":20048405,"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":["gradle","java","sqlite"],"created_at":"2024-11-15T05:49:22.971Z","updated_at":"2026-04-29T12:39:46.778Z","avatar_url":"https://github.com/yanamlnk.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\n[Simple Banking System](https://hyperskill.org/projects/93) project is a part of Java Backend Developer track provided by Hyperskill.\n\n- This is an application for managing banking system. Application can generate card number along with PIN, user can log in to the account and check balance, add income, make transfer to another account in the database and delete account. \n- All card numbers start with 400000 and generated randomly with the last number generated with help of the Luhn Algorithm. \n- Application is working with SQLite database.\n- Connection to the database is done with the help of JDBC api.\n- Database has only one table `card` with the following columns:\n    - `id` INTEGER\n    - `number` TEXT\n    - `pin` TEXT\n    - `balance` INTEGER DEFAULT 0\n\n# Functionality\nAfter the connection to the database is established, application outputs menu with the help of `System.out`. Application is getting user's input through `System.in`.\n\n```\n1. Create an account \n2. Log into account \n0. Exit\n```\n- `Exit` stops the application\n- `Create account` generates card number along with PIN\n- `Log into account` requires card number and PIN. If log in is successful, user gets transferred to the account menu \n\n```\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n```\nWith this menu user can check current balance, add income (any positive number), make transfer (can't make transfer of the higher sum than balance, to the same account, or to the non-existing account), and close (=delete) account.\n\n**Example**\n```\n// user's input is indicated with \u003e\u003e\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 1\n\nYour card has been created\nYour card number:\n4000003789119852\nYour card PIN:\n9650\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 1\n\nYour card has been created\nYour card number:\n4000008021181123\nYour card PIN:\n2162\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 2\n\nEnter your card number:\n\u003e\u003e 4000003789119852\nEnter your PIN:\n\u003e\u003e 9650\n\nYou have successfully logged in!\n\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 1\n\nBalance: 0\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 2\n\nEnter income:\n\u003e\u003e 100\nIncome was added!\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 3\n\nTransfer\nEnter card number:\n\u003e\u003e 4000008021181122\nProbably you made a mistake in the card number. Please try again!\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 3\n\nTransfer\nEnter card number:\n\u003e\u003e 4000008021181123\nEnter how much money you want to transfer:\n\u003e\u003e 200\nNot enough money!\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 3\n\nTransfer\nEnter card number:\n\u003e\u003e 4000008021181123\nEnter how much money you want to transfer:\n\u003e\u003e -100\nTransfer must be higher than 0\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 3\n\nTransfer\nEnter card number:\n\u003e\u003e 4000003789119852\nYou can't transfer money to the same account!\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 3\n\nTransfer\nEnter card number:\n\u003e\u003e 4000008021181123\nEnter how much money you want to transfer:\n\u003e\u003e 100\nSuccess!\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 1\n\nBalance: 0\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 5\n\nYou have successfully logged out!\n\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 2\n\nEnter your card number:\n\u003e\u003e 4000008021181123\nEnter your PIN:\n\u003e\u003e 0000\nWrong card number or PIN!\n\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 2\n\nEnter your card number:\n\u003e\u003e 4000008021181123\nEnter your PIN:\n\u003e\u003e 2162\n\nYou have successfully logged in!\n\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 1\n\nBalance: 100\n\n1. Balance\n2. Add income\n3. Do transfer\n4. Close account\n5. Log out\n0. Exit\n\u003e\u003e 4\n\nThe account has been closed!\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 2\n\nEnter your card number:\n\u003e\u003e 4000008021181123\nEnter your PIN:\n\u003e\u003e 2162\nWrong card number or PIN!\n\n\n1. Create an account \n2. Log into account \n0. Exit\n\u003e\u003e 0\n\nBye!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanamlnk%2Fsimple-banking-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanamlnk%2Fsimple-banking-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanamlnk%2Fsimple-banking-system/lists"}