This is the Python version of the Plaid Web App. It integrates with Plaid to securely link financial accounts and retrieve transaction data. The project includes a web-based front-end and a Python-based back-end.
- User Authentication: Users can log in and out.
- Plaid Integration: Allows users to securely link their financial accounts using Plaid.
- Transaction Retrieval: Fetches and displays user transactions.
.
├── app.py # Python server handling API endpoints
├── templates/index.html # Frontend HTML file
├── static/client.js # Folder for static files like CSS and JS
└── requirements.txt # Python dependencies
- Python 3.8+
- Pip (Python package manager)
- Clone this repository:
git clone <repository-url> cd <repository-folder>
- Install dependencies:
pip install -r requirements.txt
- Start the server:
python app.py
- Open the
index.html
file in a web browser or host it using a web server.
- Open the
index.html
file in your browser. - Log in using the authentication form.
- Click "Create Link Token" to link your financial account.
- View transaction data under the Transactions section.
The Python server provides the following endpoints:
/login
: Handles user login./logout
: Logs out the user./create_link_token
: Creates a Plaid link token./exchange_public_token
: Exchanges a public token for access tokens./transactions
: Fetches transaction data.
index.html
: Contains the structure and layout of the web app.client.js
: Implements the JavaScript logic for user interaction and API calls.app.py
: Python server responsible for handling API requests and interacting with Plaid.
Install the Python dependencies listed in requirements.txt
.
Create a .env
file to store sensitive information such as:
PLAID_CLIENT_ID=your_client_id
PLAID_SECRET=your_secret
PLAID_ENV=sandbox
- Sign up for a Plaid account.
- Retrieve your API keys from the Plaid dashboard.
- Set the keys in your
.env
file.
- Start the backend server:
python app.py
- Open the
index.html
in your browser or deploy it to a web server.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License.