Skip to content

Commit

Permalink
Add requirements.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
nbhambhani committed May 17, 2018
1 parent 9f85a9b commit e4f1c2f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
17 changes: 7 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,15 @@ This sample app is meant to provide working example of how to make API calls to
- Creating a QB customer that are added from Excel file using Customer API.
- Gets company data using CompanyInfo API

Please note that while these examples work, features not called out above are not intended to be taken and used in production business applications. In other words, this is not a seed project to be taken cart blanche and deployed to your production environment.

For example, certain concerns are not addressed at all in our samples (e.g. security, privacy, scalability). In our sample apps, we strive to strike a balance between clarity, maintainability, and performance where we can. However, clarity is ultimately the most important quality in a sample app.

Therefore there are certain instances where we might forgo a more complicated implementation (e.g. caching a frequently used value, robust error handling, more generic domain model structure) in favor of code that is easier to read. In that light, we welcome any feedback that makes our samples apps easier to learn from.
Please note that while these examples work, features not called out above are not intended to be taken and used in production business applications. In other words, this is not a seed project to be taken cart blanche and deployed to your production environment. For example, certain concerns are not addressed at all in our samples (e.g. security, privacy, scalability). In our sample apps, we strive to strike a balance between clarity, maintainability, and performance where we can. However, clarity is ultimately the most important quality in a sample app.

## Requirements
1. Python 3.6
2. A [developer.intuit.com](https://developer.intuit.com/) account
3. An app on [developer.intuit.com](https://developer.intuit.com/) and the associated app keys:
- Client Id and Client Secret for OAuth2 apps; Configure the RedirectUri[http://localhost:5000/callback] in your app's Keys tab on the Intuit developer account, only Accounting scope needed
- Consumer key and Consumer secret for OAuth1 apps
4. This sample app uses several libraries which need to be installed including flask, flask_oauth, ConfigParser, openpyxl, requests_oauthlib
4. This sample app uses several libraries listed in [requirements.txt](requirements.txt) which need to be installed including flask, flask_oauth, openpyxl, requests_oauthlib

## First Time Instructions
1. Clone the GitHub repo to your computer
Expand All @@ -30,20 +26,21 @@ Therefore there are certain instances where we might forgo a more complicated im

## Running the code
1. cd to the project directory
2. Run the command: ```python app.py``` for MacOS/Linux
3. open a browser and enter ```http://localhost:5000```
2. ```pip install -r requirements.txt```
3. Run the command: ```python app.py``` for MacOS/Linux
4. open a browser and enter ```http://localhost:5000```

## High Level Project Overview

1. [app.py](app.py) module contains all routes for the Flask web app
2. [QBOService.py](QBOService.py) class creates a Customer in QBO and gets QBO company info

##### Utility modules
### Utility modules
3. [excel.py](utils/excel.py) module deals with importing data from [Leads.xlsx](Leads.xlsx) and editing it
4. [context.py](utils/context.py) class for request context object which has all tokens and realm required to make an API call
5. [APICallService.py](utils/APICallService.py) module has POST and GET methods for QBO API
6. [OAuth2Helper.py](utils/OAuth2Helper.py) module has the methos required for OAuth2 flow

### Note: For other OAuth2 services like Refresh token, Revoke token, etc, refer to [this](https://github.com/IntuitDeveloper/OAuth2PythonSampleApp) app
#### Note: For other OAuth2 services like Refresh token, Revoke token, etc, refer to [this](https://github.com/IntuitDeveloper/OAuth2PythonSampleApp) app

[ss1]: https://help.developer.intuit.com/s/samplefeedback?cid=9010&repoName=SampleApp-QuickBooksV3API-Python
6 changes: 6 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
requests==2.13.0
Flask==0.12
Flask_OAuth==0.13
Werkzeug==0.11.15
openpyxl==2.4.4
requests_oauthlib==0.8.0

0 comments on commit e4f1c2f

Please sign in to comment.