{"id":16109044,"url":"https://github.com/aaronjai/banking_saas_platform","last_synced_at":"2026-04-12T04:32:35.767Z","repository":{"id":247892935,"uuid":"827143163","full_name":"AaronJai/banking_saas_platform","owner":"AaronJai","description":"Full stack banking app that employs finance management, connects multiple bank accounts, real-time transactions and allow money transfers.","archived":false,"fork":false,"pushed_at":"2025-03-21T12:26:32.000Z","size":1325,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T19:38:54.406Z","etag":null,"topics":["appwrite","dwolla","nextjs14","plaid","reacthookform","sentry","tailwindcss","typescript","zod"],"latest_commit_sha":null,"homepage":"https://moneymate-mocha.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/AaronJai.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-11T05:09:26.000Z","updated_at":"2025-03-21T12:26:36.000Z","dependencies_parsed_at":"2025-03-21T13:27:40.237Z","dependency_job_id":"2867f258-df97-4e75-b3c6-4ed33871d242","html_url":"https://github.com/AaronJai/banking_saas_platform","commit_stats":null,"previous_names":["aaronjai/moneymate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AaronJai/banking_saas_platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronJai%2Fbanking_saas_platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronJai%2Fbanking_saas_platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronJai%2Fbanking_saas_platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronJai%2Fbanking_saas_platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AaronJai","download_url":"https://codeload.github.com/AaronJai/banking_saas_platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronJai%2Fbanking_saas_platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31704492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"online","status_checked_at":"2026-04-12T02:00:06.763Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["appwrite","dwolla","nextjs14","plaid","reacthookform","sentry","tailwindcss","typescript","zod"],"created_at":"2024-10-09T19:29:30.704Z","updated_at":"2026-04-12T04:32:35.743Z","avatar_url":"https://github.com/AaronJai.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MoneyMate\nA financial SaaS platform that employs finance management, connects multiple bank accounts, real-time transactions and allow money transfers.\n\n# Usage (via deployed link):\nOn sign-up ensure you follow placeholder format for State, DOB and SSN.\nWhen linking, username is user_good and password is user_pass.\nthis is using a SANDBOX. Development and Production keys are paid through dwolla.\nChase checking and savings account works best.\n\n# Update 27/02/2025\nFound that quick transaction history and transaction history tab not working. Issue in line 44 of TransactionsTable.tsx where transaction is passing as undefined so the map function isn't working. Haven't had much time looking into it.\n\n# Tech Stack\n### Next.js\nReact framework for server-side rendering, group routes, nested layouts, server actions, etc.\n\n### Horizon\nA platform that connects to multiple bank accounts, also displaying real-time transactions and also allows money transfer to other users.\nIt uses a secure SSR authentication.\n\n### Plaid\nFor payments, works world-wide, great for banking APIs.\n\n### Appwrite\nUsed to build our backend\nAuthentication, databases, functions, storage, messaging, etc.\n\n### Sentry\nApplication monitoring software that analyses performance and makes our bank more secure\nSession Replay - 'get to root cause of an issue by watching replays of real user sessions' \n(removes sensitive data in replay).\n\n### Form management\n**Typescript**, **React Hook Form**, **Zod**\n\n### Responsivity - modern responsive UI\n**Chart.js** - allows us to create any kind of chart, \n**ShadCN** - component library e.g., simple buttons, alerts, etc.\n**TailwindCSS** - utility-first CSS framework; custom styling without having to need separate CSS files\n\n# Features\n• **Authentication**: Implement ultra-secure SSR authentication with comprehensive validations and authorization.\n\n• **Connect Banks**: Integrate with Plaid for linking multiple bank accounts.\n\n• **Home Page**: Display an overview of the user account, including total balance across connected banks, recent transactions, and spending by category.\n\n• **My Banks**: Provide a complete list of all connected banks with respective balances and account details.\n\n• **Transaction History**: Offer pagination and filtering options to view transaction history across different banks.\n\n• **Real-time Updates**: Reflect changes across all relevant pages when new bank accounts are connected.\n\n• **Funds Transfer**: Enable users to transfer funds using Dwolla, including required fields and recipient bank ID.\n\n• **Responsiveness**: Ensure the application adapts seamlessly to various screen sizes and devices, providing a consistent user experience on desktop, tablet, and mobile platforms.\n\nThis is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n## Usage (locally):\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 https://github.com/AaronJai/banking_saas_platform\n\ncd banking_saas_platform\n\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```\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**Running the Project**\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser to view the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjai%2Fbanking_saas_platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronjai%2Fbanking_saas_platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjai%2Fbanking_saas_platform/lists"}