Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lightningfz/banking-app
Surge is a modern banking platform for everyone
https://github.com/lightningfz/banking-app
appwrite banking chartjs fintech nextjs plaid typescript
Last synced: 2 months ago
JSON representation
Surge is a modern banking platform for everyone
- Host: GitHub
- URL: https://github.com/lightningfz/banking-app
- Owner: LightningFz
- Created: 2024-08-03T23:24:23.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-01T03:35:19.000Z (3 months ago)
- Last Synced: 2024-10-09T19:21:25.298Z (2 months ago)
- Topics: appwrite, banking, chartjs, fintech, nextjs, plaid, typescript
- Language: TypeScript
- Homepage:
- Size: 1.12 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Here's how you can narrate this for your README as if you built "Surge," based on the template you provided:
---
# Surge
Surge is a powerful financial SaaS platform built using **Next.js**, designed to give users full control over their finances by connecting to multiple bank accounts. It allows users to view transactions in real-time, manage their finances, and transfer money securely to other platform users. Surge combines cutting-edge technology with a seamless user experience to help users manage their financial life effortlessly.
## ⚙️ Tech Stack
- **Next.js**: Core framework for building the front-end and back-end of the platform.
- **TypeScript**: Provides strong type definitions to improve code reliability.
- **Appwrite**: Back-end server handling authentication, user management, and database.
- **Plaid**: Enables seamless bank integration and real-time transaction tracking.
- **Dwolla**: Powers secure fund transfers between platform users.
- **React Hook Form**: Simplifies form management and validation.
- **Zod**: Schema validation library used for ensuring data integrity.
- **TailwindCSS**: Utility-first CSS framework for designing responsive layouts.
- **Chart.js**: Utilized for visualizing financial data through dynamic charts.
- **ShadCN**: Provides a comprehensive component library for styling and UI elements.## 🔋 Features
- **Authentication**: Implements ultra-secure SSR authentication with robust validation and authorization mechanisms.
- **Connect Banks**: Links to multiple bank accounts through Plaid for real-time transaction data and balance updates.
- **Home Page Overview**: Displays a total account balance from all connected banks, recent transactions, categorized spending, and more.
- **My Banks**: Lists all connected banks with individual account details and balances.
- **Transaction History**: Users can view detailed transaction history with pagination and filtering options for specific accounts or date ranges.
- **Real-time Updates**: Reflects changes across all relevant pages when new accounts are linked, ensuring up-to-date information across the platform.
- **Funds Transfer**: Facilitates user-to-user fund transfers using Dwolla, with secure input fields for recipient bank details.
- **Responsiveness**: Ensures a smooth experience across desktop, tablet, and mobile, adjusting the layout for different screen sizes.## 🤸 Quick Start
### Prerequisites
Before starting, ensure you have the following installed:
- Git
- Node.js
- npm (Node Package Manager)### Cloning the Repository
```bash
git clone https://github.com/your-username/surge.git
cd surge
```### Installation
Install the project dependencies:
```bash
npm install
```### Set Up Environment Variables
Create a `.env` file in the root directory and add the following content:
```bash
#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
```Make sure to replace the placeholder values with your actual credentials, which can be obtained by signing up on Appwrite, Plaid, and Dwolla.
### Running the Project
To start the development server, run:
```bash
npm run dev
```Then open [http://localhost:3000](http://localhost:3000) in your browser to access the platform.
---
This setup showcases the key aspects of the app and provides detailed instructions for installation and running the project.