Banking application powered by NextJS and FastAPI. Connect in real time with your bank via Plaid APIs.
It lets you manage your budgets and spending categories, and several bank accounts can be connected at the same time and accessed by different users.
Functionalities:
- Directly connected to your bank account to fetch bank data
- Automatically categorizes transactions
- Budgeting tools
- Expense tracking by category
- Multiple accounts connected
Technologies:
- NextJS
- Chakra UI
- TypeScript
- Vercel
- Plaid API
- Python
- Supabase
- Prisma ORM
Frontend Repository: https://github.com/davidmonnom/banking-frontend
Please note that this application is not yet in production. If you try to connect to it, you'll get an access error. However, you can download it and add your own API identifier via Google & Plaid.
Here are the necessary environment variables to place in the .env file
DATABASE_URL="postgres database"
PLAID_REDIRECT_URI=https://cedav.be
PLAID_CLIENT_ID=
PLAID_SECRET=
PLAID_SANDBOX_SECRET=
PLAID_ENV=development
PLAID_PRODUCTS=transactions,auth
GOOGLE_CLIENT_ID=
GOOGLE_SECRET=
ALLOWED_USER="email addresses of allowed users"
Create a new python environment.
Install dependencies with pip install -r requirement.txt
.
Start the server with uvicorn app.main:app --port 1997 --host 0.0.0.0
.
Follow the frontend server installation instructions.
Initially, this application was created as a challenge to myself. It's not finished yet, and some features are still missing.
Here are the initial wireframes