|
2 | 2 | 
|
3 | 3 | 
|
4 | 4 |
|
5 |
| -# Instragam Profile Scraper in Flask |
| 5 | +# BillSwift: Inventory Billing Management System |
6 | 6 |
|
7 | 7 | ## 🛠️ Description
|
8 |
| -This project is about developing a an API in **Flask** using **Instaloader** and **Instagram's GraphQL API's** to scrape the no of likes and comments of all of the post of a public instagram profile. |
| 8 | +BillSwift is a comprehensive billing solution that empowers merchants to effortlessly create, generate, and manage bills, track inventory and products, and optimize their billing processes. With BillSwift, you can bid farewell to tedious paperwork and embrace a more efficient way of running your business. |
| 9 | +### 🌟 Key Features: |
| 10 | +- Intuitive Bill Creation: Easily create professional invoices allowing you to add your branding and personal touch. |
| 11 | +- Inventory Management: Keep track of your products and manage stock levels. |
| 12 | +- Bill Tracking: Monitor the status of your bills, know which ones are paid and pending, and never miss a payment again. |
9 | 13 |
|
10 | 14 | ## ⚙️ Languages or Frameworks Used
|
11 | 15 | - Flask
|
12 |
| - - Instaloader, Instgram GraphQL APIs |
13 |
| - |
| 16 | + - Firebase (for Authentication) |
| 17 | + - MongoDB (for data storage) |
14 | 18 |
|
15 | 19 | ## 🌟 How to run
|
16 | 20 | - ### Install all the requirements
|
17 | 21 | Run `pip install -r requirements.txt` to install all the requirements.
|
| 22 | + - ### Firebase Setup for Project |
| 23 | + |
| 24 | + - Create a [firebase](https://firebase.google.com/) project, set up a web project and get all the `Project Configurations` from `Project Settings`. |
| 25 | + |
| 26 | + - Navigate to the **Authentication** section in your firebase project and enable the `Email and Password` |
| 27 | + authentication. |
| 28 | + |
| 29 | + - The `Project Configurations` will look as follows :- |
| 30 | +```bash |
| 31 | + "apiKey": YOUR_API_KEY , |
| 32 | + "authDomain": YOUR_AUTH_DOMAIN, |
| 33 | + "databaseURL": YOUR_DATABASEURL, |
| 34 | + "projectId": YOUR_PROJECT_ID, |
| 35 | + "storageBucket": YOUR_STORAGE_BUCKET, |
| 36 | + "messagingSenderId": YOUR_MESSAGING_SENDER_ID, |
| 37 | + "appId": YOUR_APP_ID, |
| 38 | + "measurementId": YOUR_MEASUREMENT_ID |
| 39 | +``` |
| 40 | +- ### MongoDB Setup for Project |
18 | 41 |
|
| 42 | + - Download monogdb from the [official website](https://www.mongodb.com/try/download/community) and setup in your local system for testing. |
| 43 | + - Once it is setup locally, try creating documents and collections in mongodb to familiarize yourself with it. |
| 44 | + - You can also download the `MongoDB Compass`, which is the GUI version of Mongo Shell. |
| 45 | + - Once all the local testing is done, you can create a free cloud version of MongoDB in [MongoDB Atlas](https://www.mongodb.com/cloud/atlas/register) and get the following credentials from the dashboard of atlas: |
| 46 | + ```bash |
| 47 | +MONGO_URI=YOUR_MONGO_URI |
| 48 | +MONGO_USERNAME=YOUR_MONGO_USERNAME |
| 49 | +MONGO_PASSWORD=YOUR_MONGO_PASSWORD |
| 50 | +``` |
| 51 | +- ### Setup Environment for the project |
| 52 | + - Now create a `.env` file in your project dreictory and include the following parameters as it is :- |
| 53 | +```bash |
| 54 | +export ENVIRONMENT=local/production |
| 55 | +export APP_SECRET=YOUR_APP_SECRET |
| 56 | +export MONGO_URI=YOUR_MONGO_URI |
| 57 | +export MONGO_USERNAME=YOUR_MONGO_USERNAME |
| 58 | +export MONGO_PASSWORD=YOUR_MONGO_PASSWORD |
| 59 | +export DB_NAME=YOUR_MONGODB_DATABASE_NAME |
| 60 | +export FIREBASE_APIKEY=YOUR_API_KEY |
| 61 | +export FIREBASE_AUTHDOMAIN=YOUR_AUTH_DOMAIN |
| 62 | +export FIREBASE_DATABASEURL=YOUR_DATABASEURL |
| 63 | +export FIREBASE_PROJECT_ID=YOUR_PROJECT_ID |
| 64 | +export FIREBASE_STORAGE_BUCKET=YOUR_STORAGE_BUCKET |
| 65 | +export FIREBASE_MESSAGING_SENDER_ID=YOUR_MESSAGING_SENDER_ID |
| 66 | +export FIREBASE_APP_ID=YOUR_APP_ID |
| 67 | +export FIREBASE_MEASUREMENT_ID=YOUR_MEASUREMENT_ID |
| 68 | +``` |
19 | 69 | - ### Now Just, Run the project
|
20 | 70 | - To the run the project, go to the `bash` terminal of VSCode or any other code editor and run `./start_server.sh`.
|
21 | 71 | - The server would start running on `http://127.0.0.1:{port_number}`.(generally http://127.0.0.1:5000)
|
22 | 72 |
|
23 |
| - - ### Explore the API |
24 |
| - Go to the browser/postman/thunderclient and hit the following URL http://127.0.0.1:5000/get_profile/{instagram_username} |
25 |
| - > Note: The Instagram Profile must be **public**. |
| 73 | + - ### Login/Signup as a user |
| 74 | + Since, you are a new user, singup in the application and then login. Then, Start Exploring the project! |
| 75 | + > Note: **You will recieve a email verification mail from firebase upon singup and then only you can proceed** |
26 | 76 |
|
27 | 77 |
|
28 | 78 | ## 📺 Demo
|
29 |
| -- Main screen of the application. |
30 |
| - |
31 |
| -- Result for my instagram account (**@mbsaiaditya**). |
32 |
| - |
| 79 | +- Login/Singup Screen. |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | + |
| 84 | +- Main screen of the application (Bill generation) |
| 85 | + |
| 86 | + |
| 87 | +- Product Screen/ Adding products |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +> Note: **This is where you can manage the inventory of a product by editing it.** |
| 93 | +
|
| 94 | +- All Bills Page |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | +- Bill generation in PDF Format. |
| 99 | + |
| 100 | + |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | + |
| 105 | + |
| 106 | + |
33 | 107 |
|
34 | 108 | ## 🤖 Author
|
35 | 109 | Github - [MBSA-INFINITY](https://github.com/MBSA-INFINITY)
|
|
0 commit comments