This custodial wallet application allows users to securely manage their Bitcoin and bank accounts. It integrates with Plaid for bank connections and offers functionalities such as account linking, balance viewing, and Bitcoin transactions.
Before starting, ensure you have the following installed:
- Node.js
- Yarn package manager
- Bitcoin Core (for running a regtest node)
- A Plaid account (for sandbox testing)
Clone the repository to your local machine:
git clone [repository URL]
cd [repository directory]
Configure your local Bitcoin Core node to run in regtest mode. Follow the settings specified in bitcoinClient.js. Ensure your bitcoin.conf file is set up accordingly.
Run the following command to execute tests for both frontend and backend:
yarn test
Run the Node.js server:
cd backend
yarn
node index.js
Navigate to the frontend directory, install dependencies, and start the application:
cd ../frontend
yarn install
yarn start
Sign up as a test user with username, password and name. Use the Plaid sandbox for testing:
Username: user_good
Password: user_good
Follow the on-screen instructions to connect your bank accounts via Plaid. Once your accounts are connected, you can try purchasing Bitcoin from your selected bank account.
Due to time constraints, the solution is not deployed, requiring users to configure a testnet Bitcoin connection locally.
Component tests are not comprehensive and need to be expanded to cover more scenarios and edge cases.
Ongoing refactoring is in progress to improve code quality and maintainability.