Bankimo is a modern banking dashboard built with Next.js that lets users sign in or sign up, connect their bank accounts through Plaid, view balances and transactions, and initiate transfers using Dwolla.
- Secure authentication flow with Appwrite
- Bank account linking and account management via Plaid
- Transaction history and balance overview
- Transfer funds between linked accounts
- Responsive UI built with Tailwind CSS and shadcn/ui
- Component testing with Vitest and Testing Library
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
- shadcn/ui
- Appwrite
- Plaid
- Dwolla
- Sentry
-
Install dependencies:
npm install
-
Create a
.env.localfile in the project root and add the required environment variables:NEXT_PUBLIC_APPWRITE_ENDPOINT= NEXT_PUBLIC_APPWRITE_PROJECT= NEXT_APPWRITE_KEY= APPWRITE_DATABASE_ID= APPWRITE_USER_COLLECTION_ID= APPWRITE_BANK_COLLECTION_ID= PLAID_CLIENT_ID= PLAID_SECRET= DWOLLA_ENV=sandbox DWOLLA_KEY= DWOLLA_SECRET= NEXT_PUBLIC_SENTRY_DSN=
-
Start the development server:
npm run dev
-
Open http://localhost:3000 to view the app.
npm run dev— start the local development servernpm run build— create a production buildnpm run start— start the production buildnpm run test— run Vitest testsnpm run test:coverage— run tests with coverage reporting
app/— app routes and pagescomponents/— reusable UI and feature componentslib/— server actions, API clients, and utilitiesconstants/— shared app constantspublic/— static assets
Run the test suite with:
npm run test