Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rodolfoaugusto/rwallet
Client and Server demonstration offer for Bitcoin test wallet with purchase flow, side-to-side encryption and passkey authentication. Developed in NodeJs and React.
https://github.com/rodolfoaugusto/rwallet
bitcoin bitcoin-regtest bitcoin-wallet javascript nodejs passkey prisma prisma-client react redux regtest
Last synced: 4 days ago
JSON representation
Client and Server demonstration offer for Bitcoin test wallet with purchase flow, side-to-side encryption and passkey authentication. Developed in NodeJs and React.
- Host: GitHub
- URL: https://github.com/rodolfoaugusto/rwallet
- Owner: rodolfoaugusto
- Created: 2024-08-01T09:55:11.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-05T16:46:40.000Z (4 months ago)
- Last Synced: 2024-10-12T20:21:09.947Z (about 1 month ago)
- Topics: bitcoin, bitcoin-regtest, bitcoin-wallet, javascript, nodejs, passkey, prisma, prisma-client, react, redux, regtest
- Language: JavaScript
- Homepage:
- Size: 1.02 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
R Wallet
# Introduction
Client and Server demonstration offer for Bitcoin test wallet with purchase flow, side-to-side encryption and passkey authentication. Developed in Node.js and React.
## Notes
> - [Download the Bitcoin Core](https://bitcoin.org/bin/bitcoin-core-27.0/bitcoin-27.0-x86_64-linux-gnu.tar.gz) and use the following configuration file.
> - [Regtest config asset](server/assets) for the Bitcoin Core in `regtest` mode.
> - Plaid sandbox credentials: **username** `user_good` and **password** `pass_good`.## Structure
```bash
root
├── client # contains the frontend client React application.
│ ├── components/ # React components.
│ ├── hooks/ # custom hooks.
│ ├── pages/ # page components.
│ ├── reducers/ # Redux reducers or state management.
│ ├── services/ # service layer logic and API calls.
│ ├── App.css # the main stylesheet.
│ ├── App.js # main App component.
│ ├── Helpers.js # generic helper functions.
│ ├── index.js # main entry point of the client application.
│ └── Store.js # Redux store configuration.
├── server # contains the backend server NodeJS application.
│ ├── config/ # configuration files for the server.
│ ├── errors/ # error handling extended classes.
│ ├── interceptors/ # interceptor logic for handling requests/responses.
│ ├── routes/ # route definitions and controllers.
│ ├── schemas/ # request validation schemas.
│ ├── services/ # service layer logic and business rules.
│ ├── tests/ # unit tests coverage.
│ └── app.js # main entry point of the server application.
```
## Screenshots
**Login**
![image](https://github.com/user-attachments/assets/ae34b857-03c8-483e-a747-4fcd1c80f3bb)**Connect bank account**
![image](https://github.com/user-attachments/assets/8c318a6d-91c2-420b-bbd8-4a72b7279f46)**Crypto Offer**
![image](https://github.com/user-attachments/assets/45b9e018-acbe-4086-8acb-abb08749c0a3)## Entity Relationship Diagram
## References
- [Patterns of distributed systems](https://martinfowler.com/articles/patterns-of-distributed-systems/idempotent-receiver.html)
- [Redux Async Data Flow](https://redux.js.org/tutorials/fundamentals/part-6-async-logic#redux-async-data-flow)
- [Getting Started with Plaid in 3 Minutes](https://www.youtube.com/watch?v=U9xa1gzyPx8)
- [Payment Initiation (UK and Europe)](https://plaid.com/docs/api/products/payment-initiation/)