{"id":15136762,"url":"https://github.com/deikairru/bankirru","last_synced_at":"2025-10-23T11:31:55.264Z","repository":{"id":252990896,"uuid":"833544510","full_name":"deikairru/bankirru","owner":"deikairru","description":"Seamless, Secured, and Responsive financial SaaS platform that connects to multiple bank accounts, displays transactions in real-time, allows users to transfer money to other platform users, and manages their finances altogether.","archived":false,"fork":false,"pushed_at":"2024-09-18T13:08:51.000Z","size":1813,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T18:06:38.841Z","etag":null,"topics":["appwrite","banking","chartjs","dwolla-api","nextjs14","plaid-api","reacthookform","responsive-design","saas-application","shadcn-ui","tailwindcss","typescript","zod-validation"],"latest_commit_sha":null,"homepage":"https://bankirru.vercel.app","language":"TypeScript","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/deikairru.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":"2024-07-25T09:10:44.000Z","updated_at":"2024-12-04T19:15:01.000Z","dependencies_parsed_at":"2024-08-23T18:18:21.860Z","dependency_job_id":"5be5ecab-7e92-49c2-8449-a9dadf287e79","html_url":"https://github.com/deikairru/bankirru","commit_stats":{"total_commits":43,"total_committers":2,"mean_commits":21.5,"dds":0.09302325581395354,"last_synced_commit":"1f2d5d1c4fa5aff75d9d8ac777b4e81ef4712103"},"previous_names":["deikairru/bankirru"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deikairru%2Fbankirru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deikairru%2Fbankirru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deikairru%2Fbankirru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deikairru%2Fbankirru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deikairru","download_url":"https://codeload.github.com/deikairru/bankirru/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237821648,"owners_count":19371801,"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":["appwrite","banking","chartjs","dwolla-api","nextjs14","plaid-api","reacthookform","responsive-design","saas-application","shadcn-ui","tailwindcss","typescript","zod-validation"],"created_at":"2024-09-26T06:41:11.471Z","updated_at":"2025-10-23T11:31:49.823Z","avatar_url":"https://github.com/deikairru.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cbr /\u003e\n    \u003ca href=\"https://bankirru.vercel.app/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://i.imgur.com/rD2Fywd.png\" alt=\"Project Banner\"\u003e\n    \u003c/a\u003e\n  \u003cbr /\u003e\n\n  \u003cdiv\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Next_JS-black?style=for-the-badge\u0026logoColor=white\u0026logo=nextdotjs\u0026color=000000\" alt=\"next.js\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-TypeScript-3178c6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"typescript\"/\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Tailwind_CSS-black?style=for-the-badge\u0026logoColor=white\u0026logo=tailwindcss\u0026color=06B6D4\" alt=\"tailwindcss\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Appwrite-black?style=for-the-badge\u0026logoColor=white\u0026logo=appwrite\u0026color=FD366E\" alt=\"appwrite\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Sentry-white?style=for-the-badge\u0026logo=Sentry\u0026logoColor=white\u0026color=%237A4889\" alt=\"sentry\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Zod-white?style=for-the-badge\u0026logo=Zod\u0026logoColor=white\u0026color=%23274D82\" alt=\"zod\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Chart.js-FE777B?style=for-the-badge\u0026logo=Chart.js\u0026logoColor=white\" alt=\"chartjs\" /\u003e\n    \u003cimg src=\"https://img.shields.io/static/v1?style=for-the-badge\u0026message=shadcn%2Fui\u0026color=000000\u0026logo=shadcn%2Fui\u0026logoColor=FFFFFF\u0026label=\" alt=\"shadcn\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/react--hook--form-EC5990?style=for-the-badge\u0026logo=reacthookform\u0026logoColor=white\" alt=\"reacthookform\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Plaid-black?style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyNiIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxnIGZpbGw9IiMxMTEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTE4LjYzNzMuMDAwMjAyLTE0LjU0OCAzLjgwOTcyLTQuMDA4IDE0LjYyODg0IDUuMDE0IDUuMTQ3OTctNS4wOTYgNS4wNjMxMyAzLjc3MyAxNC42OTM0OCAxNC40ODQgNC4wNDcwNyA1LjA5Ni01LjA2NDE0IDUuMDE0IDUuMTQ2OTYgMTQuNTQ3LTMuODA5NzIgNC4wMDgtMTQuNjMwODYtNS4wMTMtNS4xNDU5NSA1LjA5NS01LjA2MzEzLTMuNzcyLTE0LjY5MzQ4LTE0LjQ4Ni00LjA0NzA3LTUuMDk0IDUuMDYzMTN6bS04LjkyOCA2LjYyMzU4IDcuNjYzLTIuMDA3ODggMy4zNTEgMy40NDAwNi00Ljg4NyA0Ljg1NjA4em0xNi44MjIgMS40Nzg2NCAzLjQwNS0zLjM4MzUgNy42MyAyLjEzMjExLTYuMjI3IDYuMTg3MjZ6bS0yMS44NTkgOS4xMzU0NSAyLjExMS03LjcwNTI5IDYuMTI1IDYuMjg4MjYtNC44ODYgNC44NTYwOHptMjkuNTQ3LTEuMjQzMzEgNi4yMjctNi4xODgyNyAxLjk4NiA3Ljc0MDY0LTMuNDA0IDMuMzgzNXptLTE1LjUwMi0uMTI2MjUgNC44ODctNC44NTYwOCA0LjgwNyA0LjkzNTg3LTQuODg2IDQuODU2MDh6bS03LjgxNCA3Ljc2NDg4IDQuODg2LTQuODU2MDggNC44MDkgNC45MzU4Ny00Ljg4NyA0Ljg1NjA4em0xNS41MDMuMTI3MjYgNC44ODYtNC44NTYwOCA0LjgwOCA0LjkzNTg3LTQuODg3IDQuODU2MDh6bS0yMS44MzYgNi4xNjYwNSAzLjQwNi0zLjM4NDUxIDQuODA3IDQuOTM2ODgtNi4yMjUgNi4xODYyNXptMTQuMDIxIDEuNTk4ODMgNC44ODctNC44NTYwOCA0LjgwOCA0LjkzNTg3LTQuODg2IDQuODU2MDh6bTE1LjUwMi4xMjcyNiA0Ljg4Ny00Ljg1NjA4IDMuMzUxIDMuNDM5MDUtMi4xMTEgNy43MDUyOXptLTI0LjY1NiA4Ljk2OTgxIDYuMjI2LTYuMTg4MjcgNC44MDkgNC45MzU4Ny0zLjQwNSAzLjM4NDUxem0xNi44NDMtMS4yMDQ5MyA0Ljg4Ni00Ljg1NjA4IDYuMTI2IDYuMjg4MjYtNy42NjIgMi4wMDY4N3oiIG1hc2s9InVybCgjYSkiLz48L2c+PC9zdmc+\u0026logoColor=black\u0026color=white\" alt=\"plaid\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Dwolla-white?style=for-the-badge\u0026logo=data:image/webp;base64,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\u0026logoColor=%23000000\u0026color=%232D2D48\" alt=\"dwolla\" /\u003e\n    \n    \n    \n  \u003c/div\u003e\n\n  \u003ch3 align=\"center\"\u003eA Fintech Bank Application\u003c/h3\u003e\n    \u003cdiv align=\"center\"\u003e\n      Bankirru is a comprehensive digital platform designed to provide users with a seamless and secure banking experience. It enables users to manage their finances, perform transactions, and access various banking services from the convenience of their devices.\n    \u003c/div\u003e\n\u003c/div\u003e\n\n## 📋 \u003ca name=\"table\"\u003eTable of Contents\u003c/a\u003e\n\n1. 🤖 [Introduction](#introduction)\n2. 🖼️ [Preview Page](#preview)\n3. ⚙️ [Tech Stack](#tech-stack)\n4. 🔋 [Features](#features)\n5. 🤸 [Quick Start](#quick-start)\n6. 📌 [Demo Account](#demo)\n7. 🚀 [More](#more)\n\n## \u003ca name=\"introduction\"\u003e🤖 Introduction\u003c/a\u003e\n\nBuilt with Next.js, Bankirru is a financial SaaS platform that connects to multiple bank accounts, displays transactions in real-time, allows users to transfer money to other platform users, and manages their finances altogether. By developing this project, i gained hands-on experience in crafting secure, seamless, and responsive SaaS bank platform using \n\nIf you're cloned this project and need assistance or face any bugs, please contacted me.\n\n## \u003ca name=\"preview\"\u003e🖼️ Preview Page\u003c/a\u003e\n\n### Homepage\n\u003ca href=\"https://bankirru.vercel.app/\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://i.imgur.com/UqB4Vbh.png\" alt=\"preview-home\" /\u003e\n\u003c/a\u003e\n\n### Sign In\n\u003ca href=\"https://bankirru.vercel.app/sign-in\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://i.imgur.com/6QVWgkE.png\" alt=\"preview-signin\" /\u003e\n\u003c/a\u003e\n\n### Sign Up\n\u003ca href=\"https://bankirru.vercel.app/sign-up\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://i.imgur.com/uXqRx3z.png\" alt=\"preview-signin\" /\u003e\n\u003c/a\u003e\n\n## \u003ca name=\"tech-stack\"\u003e⚙️ Tech Stack\u003c/a\u003e\n\n- Next.js\n- TypeScript\n- TailwindCSS\n- Appwrite\n- Sentry\n- Zod\n- Chart.js\n- ShadCN\n- React Hook Form\n- Plaid\n- Dwolla\n\n## \u003ca name=\"features\"\u003e🔋 Features\u003c/a\u003e\n\n👉 **Authentication**: An ultra-secure SSR authentication with proper validations and authorization\n\n👉 **Connect Banks**: Integrates with Plaid for multiple bank account linking\n\n👉 **Home Page**: Shows general overview of user account with total balance from all connected banks, recent transactions, money spent on different categories, etc\n\n👉 **My Banks**: Check the complete list of all connected banks with respective balances, account details\n\n👉 **Transaction History**: Includes pagination and filtering options for viewing transaction history of different banks\n\n👉 **Real-time Updates**: Reflects changes across all relevant pages upon connecting new bank accounts.\n\n👉 **Funds Transfer**: Allows users to transfer funds using Dwolla to other accounts with required fields and recipient bank ID.\n\n👉 **Responsiveness**: Ensures the application adapts seamlessly to various screen sizes and devices, providing a consistent user experience across desktop, tablet, and mobile platforms.\n\nand many more, including code architecture and reusability. \n\n## \u003ca name=\"quick-start\"\u003e🤸 Quick Start\u003c/a\u003e\n\nFollow these steps to set up the project locally on your machine.\n\n**Prerequisites**\n\nMake sure you have the following installed on your machine:\n\n- [Git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/en)\n- [npm](https://www.npmjs.com/) (Node Package Manager)\n\n**Cloning the Repository**\n\n```bash\ngit clone git@github.com:deikairru/bankirru.git\ncd bankirru\n```\n\n**Installation**\n\nInstall the project dependencies using npm:\n\n```bash\nnpm install\n```\n\n**Set Up Environment Variables**\n\nCreate a new file named `.env` in the root of your project and add the following content:\n\n```env\n#NEXT\nNEXT_PUBLIC_SITE_URL=\n\n#APPWRITE\nNEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1\nNEXT_PUBLIC_APPWRITE_PROJECT=\nAPPWRITE_DATABASE_ID=\nAPPWRITE_USER_COLLECTION_ID=\nAPPWRITE_BANK_COLLECTION_ID=\nAPPWRITE_TRANSACTION_COLLECTION_ID=\nAPPWRITE_SECRET=\n\n#PLAID\nPLAID_CLIENT_ID=\nPLAID_SECRET=\nPLAID_ENV=\nPLAID_PRODUCTS=\nPLAID_COUNTRY_CODES=\n\n#DWOLLA\nDWOLLA_KEY=\nDWOLLA_SECRET=\nDWOLLA_BASE_URL=https://api-sandbox.dwolla.com\nDWOLLA_ENV=sandbox\n```\n\nReplace the placeholder values with your actual respective account credentials. You can obtain these credentials by signing up on the [Appwrite](https://appwrite.io/?utm_source=youtube\u0026utm_content=reactnative\u0026ref=JSmastery), [Plaid](https://plaid.com/) and [Dwolla](https://www.dwolla.com/)\n\n## \u003ca name=\"demo\"\u003e📌 Demo Account\u003c/a\u003e\n\n**For the purpose of testing you can use this Demo Account**\n\n### Login Account (Free Demo)\n- **Username**\n```\ndemo@bank.next  \n```\n- **Password**\n```\ndemo1234  \n```\n\n### Bank Account (use whenever you want to add new bank account/card)\n- **Username**\n```\nuser_good \n```\n- **Password**\n```\npass_good \n```\n\n### Creating New Account\n**When creating new account, make sure the city name are valid.**\n- example: New York\n```\nNY\n```\n\n## \u003ca name=\"more\"\u003e🚀 More\u003c/a\u003e\n\n**Find more project**\n\nEnjoyed looking at this project? Dive deeper into my portfolio to seek more project like this.\n\n**Best Regards, Deikairru**\n#","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeikairru%2Fbankirru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeikairru%2Fbankirru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeikairru%2Fbankirru/lists"}