{"id":17666446,"url":"https://github.com/marcelo-earth/hackbank","last_synced_at":"2025-10-03T16:10:58.777Z","repository":{"id":53549725,"uuid":"520732429","full_name":"marcelo-earth/hackbank","owner":"marcelo-earth","description":"💵 Bank2Bank Transaction Calculator mobile app 📲","archived":false,"fork":false,"pushed_at":"2023-03-05T21:34:12.000Z","size":1175,"stargazers_count":7,"open_issues_count":6,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-04T19:51:58.058Z","etag":null,"topics":["android","banking","expo","finances","ios","mobile-app","react-native"],"latest_commit_sha":null,"homepage":"https://web.hackbank.app","language":"JavaScript","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/marcelo-earth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-08-03T04:04:26.000Z","updated_at":"2023-03-26T01:44:19.000Z","dependencies_parsed_at":"2024-10-22T02:18:57.290Z","dependency_job_id":null,"html_url":"https://github.com/marcelo-earth/hackbank","commit_stats":null,"previous_names":["marcelo-earth/hackbank"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelo-earth%2Fhackbank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelo-earth%2Fhackbank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelo-earth%2Fhackbank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelo-earth%2Fhackbank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcelo-earth","download_url":"https://codeload.github.com/marcelo-earth/hackbank/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252989670,"owners_count":21836662,"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":["android","banking","expo","finances","ios","mobile-app","react-native"],"created_at":"2024-10-23T21:40:32.982Z","updated_at":"2025-10-03T16:10:58.489Z","avatar_url":"https://github.com/marcelo-earth.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg\n    src=\".github/logo.png\"\n    align=\"center\"\n    width=\"100\"\n    alt=\"Hackbank\"\n    title=\"Hackbank\"\n  /\u003e\n  \u003ch1 align=\"center\"\u003e💵 Hackbank 📲\u003c/h1\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Bank-to-Bank Transaction Calculator Multiplaform App (for Peru)\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://web.hackbank.app\"\u003e💻 Web App\u003c/a\u003e -\n    \u003ca href=\"https://play.google.com/store/apps/details?id=io.hackbank.app\"\u003e🤖 Install on Android\u003c/a\u003e -\n    \u003ca href=\"https://apps.apple.com/us/app/hackbank/id1635247314\"\u003e🍎 Install on iOS\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg\n    src=\".github/preview.png\"\n    align=\"center\"\n    width=\"400\"\n    alt=\"Hackbank\"\n    title=\"Hackbank\"\n  /\u003e\n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n  ✅ This project has diagrams to help you understand how it works! 📌\n\u003c/p\u003e\n\n\n## 📖 Concept\n\n**Hackbank** is a mobile application that allows you to calculate the commissions and delays of a bank-to-bank transaction. It is designed for the Peruvian market. And it is available for Android, iOS and Web.\n\n## 🛠 Development\n\nHackbank is developed in [React Native](https://reactnative.dev) with [Expo](https://expo.dev).\n\nLinting is used with **ESLint**.\n\nIt consists of three screens (`src/screens`):\n\n- **Form**: User can fill in the data about a transaction.\n- **Result**: User can review the prediction of commissions (and other elements) on the transaction.\n- **About**: Information about the application, version, tutorials, etc.\n\n### 🤖 Operation\n\n```mermaid\ngraph TD\n    A[Hackbank Calculation Workflow] --\u003e|Fill bank and transaction amount| B(Hackbank Calculator)\n    B --\u003e C[Identify Bank2Bank correlation]\n    C --\u003e D[Verify restrict amounts]\n    D --\u003e E[Verify restrict date]\n    E --\u003e F[Obtain all the restrictions and sent to user]\n```\n\nThe operation of the prediction consists of the automatic review of a JSON file called **Transfer Restriction Calculator** (**TRC** from now on).\n\nThis `TRC.json` file contains the rules by which the data of a transaction is evaluated.\n\n```json\n[\n  {\n    \"inputBank\": \"IBK\",\n    \"inputBankName\": \"Interbank\",\n    \"inputBankAccountType\": \"Cuenta Simple\",\n    \"outputBank\": \"SCO\",\n    \"outputBankName\": \"Scotiabank\",\n    \"outputBankAccountType\": \"Cuenta Free\",\n    \"restrictAmounts\": [\n      {\n        \"type\": \"maximum\",\n        \"amount\": \"10000\",\n        \"currency\": \"PEN\"\n      }\n    ],\n    \"restrictDate\": {\n      \"days\": \"BUSINESS\",\n      \"hours\": [\n        {\n          \"start\": \"0:00\",\n          \"end\": \"04:30\",\n          \"type\": \"deferred_cut\"\n        },\n...\n```\n\n### 📌 Example of operation\n\n**ABC** bank provides a commission of `50` when the amount exceeds more than `500`.\n\nSo TRC has an object that contains information about that rule, and it warns that if it passes more than `50`, the commission will be applied.\n\nIf the user calculates that the source bank is ABC, and the destination bank is DEF, and the amount is `1000`. When calculating the result, the TRC is checked, and since there is this condition that ABC provides a condition of `50` when the amount exceeds more than `500`, **Hackbank** will inform the user of a commission.\n\n## 📦 Deployment\n\n### 📱 For Android and iOS\n\nTo publish Hackbank, a Google and Apple developer account is required. To make the build I used EAS (Expo Application Services).\n\n### 💻 For Web\n\nTo publish in web I'm using [Firebase Hosting](https://firebase.google.com/docs/hosting). The following commands are used to deploy:\n\n```json\n  \"predeploy\": \"expo build:web\",\n  \"deploy-hosting\": \"npm run predeploy \u0026\u0026 firebase deploy --only hosting\"\n```\n\n## 🏛️ History\n\nI started this app at a Starbucks, while I wanted to send money I found that my transaction was going to be delayed. So I had the idea to create an application that could predict how a transaction would behave from one bank to another bank.\n\n## 🎨 UI Design\n\nI started to create the sketches of the design in Figma. I designed four screens, one for the splash screen, another for the form, another for the result and for the information page (with contact).\n\n## 🤲 Contributing\n\nDo you would like to contribute? Do you want to be the author of a new feature? Awesome! please fork the repository and make changes as you like. [Pull requests](https://github.com/360macky/hackbank/pulls) are warmly welcome.\n\nYou can also suggest features. Don't be afraid! 🤍\n\n## 📃 License\n\nDistributed under the MIT License.\nSee [`LICENSE`](./LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelo-earth%2Fhackbank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelo-earth%2Fhackbank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelo-earth%2Fhackbank/lists"}