https://github.com/codewithrajdeep/finance-flow
Finance Flow is a complete full-stack modern online banking system and finance management for everyone.
https://github.com/codewithrajdeep/finance-flow
appwrite dwolla-v2 nextjs14 plaid sandbox
Last synced: 2 months ago
JSON representation
Finance Flow is a complete full-stack modern online banking system and finance management for everyone.
- Host: GitHub
- URL: https://github.com/codewithrajdeep/finance-flow
- Owner: CodewithRajDeep
- Created: 2024-08-26T10:37:44.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-10-24T03:05:20.000Z (9 months ago)
- Last Synced: 2024-10-24T20:04:49.389Z (9 months ago)
- Topics: appwrite, dwolla-v2, nextjs14, plaid, sandbox
- Language: TypeScript
- Homepage: https://finance-flow-beige.vercel.app
- Size: 1.17 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Title: FinanceFlow
## Description
This project aims to address these shortcomings by developing a robust and innovative centralized banking system with customized finance management platform that integrates seamlessly with online banking functionalities. This platform will empower users to consolidate multiple financial accounts into a single, secure interface, gain real-time insights into spending habits, budgeting, and investment performance, set and track financial goals effectively, access personalized financial advice and recommendations, and conduct secure online transactions with ease.
![]()
![]()
![]()
![]()
Watch the video π
## π Table of Contents
1. π€ [Introduction](#description)
2. βοΈ [Tech Stack](#tech-stack)
3. π [Features](#features)
4. π€Έ [Quick Start](#quick-start)
5. πΈοΈ [Setup .env variables](#snippet)
6. π¦[Work Demonstration](#work-demonstration)- Next.js
- TypeScript
- Appwrite
- Plaid
- Dwolla
- React Hook Form
- Zod
- TailwindCSS
- Chart.js
- ShadCNπ **Authentication**: An ultra-secure SSR authentication with proper validations and authorization
π **Connect Banks**: Integrates with Plaid for multiple bank account linking
π **Transaction History**: Includes pagination and filtering options for viewing transaction history of different banks
π **Real-time Updates**: Reflects changes across all relevant pages upon connecting new bank accounts.
π **Funds Transfer**: Allows users to transfer funds using Dwolla to other accounts with required fields and recipient bank ID.
π **Responsiveness**: Ensures the application adapts seamlessly to various screen sizes and devices, providing a consistent user experience across desktop, tablet, and mobile platforms.
and many more, including code architecture and reusability.
1. **Clone the repository:**
```
git clone [https://github.com/CodewithRajDeep/finance-flow.git]
```
2. **Install all dependcies**
```
cd your-project
npm install
npm run dev
# or
yarn dev
```
3. **plugins installation**
```
shadcn ui@latest
sentry installation: https://docs.sentry.io/cli/installation/
plaid installation
dwolla plugins
```
4. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.## Prerequisites:
Make sure you have the following installed on your machine:
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)## Setup Environment Variable
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](https://appwrite.io/docs/tooling/command-line/installation), [Plaid]( https://plaid.com/docs/quickstart/) and [Dwolla](https://www.dwolla.com/)## Contribution Guidelines:
Guidelines for contributing to the project.**Reporting Issues:**
Search for existing issues: Before creating a new issue, search the issue tracker to see if the problem has already been reported.
Provide clear and concise information: When creating a new issue, please include as much detail as possible, such as:
Clear description of the problem
Steps to reproduce the issue
Expected behavior
Actual behavior
Screenshots or logs (if applicable)
Use issue templates: If available, use the provided issue templates to structure your report.**Submitting Pull Requests:**
Fork the repository: Create a fork of the project on your GitHub account.
Create a new branch: Create a new branch based on the main branch or a feature branch.
Make changes: Implement your changes and commit them with clear commit messages.
Push changes to your fork: Push your changes to your forked repository.
Open a Pull Request: Create a pull request from your branch to the main repository.
Provide details: Clearly describe the changes you've made and the benefits they bring.
Address code review feedback: Be open to feedback and make necessary changes.**Testing:**
Write unit tests for any new features or bug fixes.
Ensure existing tests pass after your changes.## License
Issued : Copyright (c)| 2024 Deep Raj## Memes:
![]()
![]()