This is a work in progress.
The idea is to build a demonstration of real-time integration with the QuickBooks Online API. I imagine it as a very small subset of what I do in my work at Beanworks where all edits to the accounting data propagate in real-time.
So far it allows a user to sign in to QuickBooks Online using OAuth 2, retrieves all the bills and displays them in a table.
The OAuth part is perhaps a little bit interesting in it's own right, because it's done using React
, React Router
, GraphQL
, Apollo Client
with Hooks
and GraphQL Yoga
on the back-end. The QuickBooks developer portal provides excellent documentation and examples on how to get started. But it's all a bit old school. This provides an example of how it might look in a modern application!
You'll need to sign up for a QuickBooks Developer account.
git clone [email protected]:efredine/realtime-with-QBO.git
cd realtime-with-QBO
npm install
cp env.example .env
Edit .env to change the JWT secret and enter your client id and client secret.
APP_SECRET="jwtsecret123"
#OAuth2 App Configuration
OAUTH_CLIENT_ID="Q05Rq5al8tYdc56TlCyawlFbw0ngry7XRBwcSqEBGGKJ75TQVc"
OAUTH_CLIENT_SECRET="YEhUHAzm0N2ZbNmMPpg9XCq5UQAvmLS3N22RLLPi"
OAUTH_ENVIRONMENT="sandbox"
OAUTH_REDIRECT_URI="http://localhost:3000/oauth2redirect"
On the QBO side, you'll need to enter the Oauth Redirect URL as described in the Quickbooks documentation on authentication and authorization.
npm run dev
Open your browser and navigate to http://localhost:3000
and connect to your QuickBooks Online sandbox.
Name is a not meaningful in any way nod to Real-time With Bill Maher.