Skip to content

abhirajthakur/horizon

Repository files navigation

Horizon

Horizon is a modern banking platform for everyone

Preview

Screenshot (1) Screenshot (2) Screenshot (3) Screenshot (4) Screenshot (5) Screenshot (6) Screenshot (7)

You can visit the site by visiting this link https://horizon-three-gamma.vercel.app

Technologies Used:

  • Next.js - Frontend framework
  • Typescript as the language
  • Prisma - ORM
  • Postgres - Database for storing the user's data
  • Tailwind CSS - Styling framework
  • zod - Input validation, type inference for the frontend types
  • NextAuth - Authentication
  • Plaid - connecting user's bank accounts
  • Chart.js - JavaScript charting library
  • shadcn - Beautifully designed components

Local Development

1. Clone the Repository

git clone https://github.com/abhirajthakur/horizon

2. Navigate to the project directory:

cd horizon

3. Get Database (Prisma), Dwolla and Plaid keys,

4. Create a .env file based on the .env.example file and configure the given content

# Prisma
DATABASE_URL="postgres://avnadmin:password@host/db" # Replace with the url you got back from Neon or Aiven

# Next Auth
AUTH_SECRET= # Enter next auth secret here
AUTH_TRUST_HOST=http://localhost:3000

# Plaid
PLAID_CLIENT_ID= # Enter your plaid client id here
PLAID_SECRET= # Enter your plaid client id here
PLAID_ENV=sandbox
PLAID_PRODUCTS=auth,transactions,identity
PLAID_COUNTRY_CODES=US

# Dwolla
DWOLLA_KEY= # Enter your dwolla key here
DWOLLA_SECRET= # Enter your dwolla secret here
DWOLLA_BASE_URL=https://api-sandbox.dwolla.com
DWOLLA_ENV=sandbox

5. Install dependencies:

npm install
# or
yarn install
# or
pnpm install
# or
bun install

6. Run database migrations:

npm run prisma:migrate
# or
yarn run prisma:migrate
# or
pnpm run prisma:migrate
# or
bun run prisma:migrate

Start the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Access the aplication in your browser at http://localhost:3000