- 🤖 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
- 🕸️ Code Snippets to Copy
- 🔗 Assets
- 🚀 More
Built with Next.js, Afrite Bank is a financial SaaS platform that connects to multiple bank accounts, displays transactions in real-time, though it is stile under construction
- Next.js
- TypeScript
- Appwrite
- Plaid
- Dwolla
- React Hook Form
- Zod
- TailwindCSS
- Chart.js
- ShadCN
👉 Authentication: Implements highly secure server-side authentication with comprehensive validation and authorization checks.
👉 Bank Integration: Supports linking multiple bank accounts through Plaid for seamless account connectivity.
👉 Dashboard: Provides an overview of the user’s finances, including total balance across connected banks, recent transactions, and spending by category.
👉 Bank Accounts: Displays a detailed list of all linked banks with account balances and relevant account information.
👉 Transaction History: Offers paginated and filterable views to easily track transactions across different bank accounts.
👉 Real-Time Synchronization: Automatically updates relevant pages whenever a new bank account is linked.
👉 Fund Transfers: Enables secure transfers between accounts using Dwolla, with required recipient and bank information.
👉 Responsive Design: Adapts fluidly to different screen sizes and devices, ensuring a consistent user experience on desktop, tablet, and mobile.
…and much more, including efficient code structure and reusable components.
Cloning the Repository
git clone https://github.com/Emmanuel-Ejeagha/bank_app
cd bank_app
Installation
Install the project dependencies using npm:
npm install
Set Up Environment Variables
Create a new file named .env
in the root of your project and add the following content:
#NEXT
NEXT_PUBLIC_SITE_URL=
#APPWRITE
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
NEXT_PUBLIC_APPWRITE_PROJECT=
APPWRITE_DATABASE_ID=
APPWRITE_USER_COLLECTION_ID=
APPWRITE_BANK_COLLECTION_ID=
APPWRITE_TRANSACTION_COLLECTION_ID=
APPWRITE_SECRET=
#PLAID
PLAID_CLIENT_ID=
PLAID_SECRET=
PLAID_ENV=
PLAID_PRODUCTS=
PLAID_COUNTRY_CODES=
#DWOLLA
DWOLLA_KEY=
DWOLLA_SECRET=
DWOLLA_BASE_URL=https://api-sandbox.dwolla.com
DWOLLA_ENV=sandbox
Replace the placeholder values with your actual respective account credentials. You can obtain these credentials by signing up on the Appwrite, Plaid and Dwolla
Running the Project
npm run dev
Open http://localhost:3000 in your browser to view the project.
Author: Emmanuel Ejeagha