Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laxman-rathod/horizon-banking-app
π±Horizon Banking App is a modern, secure, and user-friendly financial management application built with Next.js, leveraging cutting-edge technologies to provide a seamless banking experience.
https://github.com/laxman-rathod/horizon-banking-app
appwrite appwrite-auth appwrite-database chartjs-2 dwolla nextjs plaid plaid-api reacthookform reactjs sentry sentry-integration tailwindcss typescript zod
Last synced: 4 days ago
JSON representation
π±Horizon Banking App is a modern, secure, and user-friendly financial management application built with Next.js, leveraging cutting-edge technologies to provide a seamless banking experience.
- Host: GitHub
- URL: https://github.com/laxman-rathod/horizon-banking-app
- Owner: laxman-rathod
- License: mit
- Created: 2024-08-03T11:20:45.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-11T08:51:13.000Z (4 months ago)
- Last Synced: 2024-10-31T20:06:57.272Z (about 2 months ago)
- Topics: appwrite, appwrite-auth, appwrite-database, chartjs-2, dwolla, nextjs, plaid, plaid-api, reacthookform, reactjs, sentry, sentry-integration, tailwindcss, typescript, zod
- Language: TypeScript
- Homepage: https://horizon-banking-sigma.vercel.app/
- Size: 1.46 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Horizon - A Fintech Bank Application
Horizon is a modern, secure, and user-friendly financial management application built with Next.js, leveraging cutting-edge technologies to provide a seamless banking experience.
## π Table of Contents
1. π [Introduction](#-introduction)
2. βοΈ [Tech Stack](#οΈ-tech-stack)
3. πΈοΈ [Features](#οΈ-features)
4. π€Έ [Quick Start](#-getting-started)
5. π [Project Structure](#-project-structure)
6. π [Deployment](#-deployment)
7. β οΈ [Error Monitoring](#οΈ-error-monitoring)
8. π [Assets](#-assets)
9. π€ [Contributing](#-contributing)
10. π [License](#-license)## π Introduction
Horizon is a online banking application built with Next.js, React, TaildwindCSS, Appwrite, Plaid & Dwolla that provides users with a secure and convenient way to manage their finances on the go. Key features include account management, bill pay, money transfers, budgeting tools and more. The app is designed to be fast, responsive and accessible across all devices.
The goal of Horizon is to simplify personal finance management with an intuitive interface and seamless user experience. Modern banking functionality is made accessible through a minimal yet powerful feature set. Data security and privacy are top priorities, with credentials and transactions fully encrypted on the backend.## βοΈ Tech Stack
- Next.js 14
- TypeScript
- Tailwind CSS
- Appwrite (Backend as a Service)
- React Hook Form (Form Management)
- Zod (Input Validation)
- Chart.js (Graphs and Charts)
- ShadCN (Components library)
- Plaid API (Financial data aggregation)
- Dwolla API (Payment processing)
- Sentry (Error tracking and performance monitoring)## πΈοΈ Features
- User authentication and account management
- Bank account integration using Plaid
- Real-time transaction tracking and categorization
- Fund transfers between linked accounts
- Detailed financial insights and analytics
- Secure payment processing with Dwolla integration
- Responsive design for desktop and mobile devices## π€Έ Getting Started
Follow these steps to set up the project locally on your machine.
**Prerequisites**
Make sure you have the following installed on your machine:
- [Git](https://git-scm.com/) - for version control
- [Node.js](https://nodejs.org/en/) - for running JavaScript on the server
- [npm](https://www.npmjs.com/) - Node Package Manager1. **Clone the repository:**
```bash
git clone https://github.com/laxman-rathod/Horizon-Banking-App.git
```2. **Install dependencies:**
```bash
npm install```
3. **Set up environment variables:**
Create a `.env.local` file in the root directory and add the necessary environment variables (refer to `.env.example` for required variables).
```bash
#NEXT
NEXT_PUBLIC_SITE_URL=http://localhost:300#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/), [Plaid](https://plaid.com/) and [Dwolla](https://dwolla.com/)
4. **Run the development server:**
```bash
npm run dev
```5. Open [http://localhost:3000](http://localhost:3000) in your browser to see the application.
## π Project Structure
- `app/`: Next.js app router and page components
- `components/`: Reusable React components
- `lib/`: Utility functions and API clients
- `constants/`: Application-wide constants
- `public/`: Static assets
- `type/`: TypeScript types## π Deployment
The app is configured for easy deployment on `Vercel`. Connect your `GitHub repository` to Vercel for automatic deployments on each push to the main branch.
## β οΈ Error Monitoring
`Sentry` is integrated for error tracking and performance monitoring. Configure your Sentry DSN in the `sentry.*.config.ts` files.
## π Assets
Static assets like images, fonts etc. are stored in the `public` directory and referenced using the `/` path prefix.
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
To contribute:
Fork the repository
Create your feature branch (`git checkout -b feature/your-feature`)
Commit your changes (`git commit -m 'feat: add your feature'`)
Push to the branch (`git push origin feature/your-feature`)
Open a pull request## π License
This project is licensed under the [MIT License](LICENSE).