eBizz Pro is a GST-focused billing and business dashboard built with React Native and Expo, with an optional Express/MongoDB backend for persistent data storage.
The app helps small businesses create B2B and B2C invoices, manage stock, maintain customer/party records, track GST amounts, and view business reports from a mobile-first interface.
- Mobile-first dashboard for revenue, recent activity, stock alerts, and top customers
- B2B and B2C invoice creation flows
- GSTIN verification support through
src/utils/gstApi.js - GST-aware invoice summary with subtotal, tax amount, round-off, and grand total
- Stock ledger with SKU, HSN, GST rate, quantity, price, and low-stock alerts
- Party/customer management with GSTIN, phone, email, address, and status
- Reports for revenue, GST summary, filing status, and customer performance
- PDF invoice/report generation and sharing through Expo modules
- Optional backend API using Express, Mongoose, and MongoDB Atlas
- React Native
- Expo
- React Navigation
- Expo Linear Gradient
- Expo Print and Sharing
- AsyncStorage
- Node.js
- Express
- MongoDB Atlas
- Mongoose
- dotenv
- CORS
project/
|-- ebizzpro/ # React Native / Expo mobile app
| |-- App.js
| |-- app.json
| |-- package.json
| |-- SETUP.md
| `-- src/
| |-- components/ # Reusable UI components
| |-- context/ # App state and computed helpers
| |-- data/ # Mock/sample data
| |-- navigation/ # Bottom tab and stack navigation
| |-- screens/ # App screens
| |-- theme/ # Colors, typography, spacing
| `-- utils/ # GST API, invoice/report generation, API helpers
|
`-- ebizzpro-backend/ # Express/MongoDB backend
|-- server.js # API routes and server startup
|-- models.js # Mongoose models
|-- mongodb_app.js
|-- package.json
|-- .env.example
`-- DEPLOY.md
- Node.js
- npm
- Expo tooling
- Expo Go app on your phone, or an Android/iOS emulator
- MongoDB Atlas account, if using the backend
cd ebizzpro
npm install
npm startAfter Expo starts:
- Scan the QR code with Expo Go, or
- Press
ato open Android emulator, or - Press
wto open the web build if supported by your environment
cd ebizzpro-backend
npm installCreate a .env file from the example:
copy .env.example .envUpdate .env with your MongoDB connection string:
MONGODB_URI=mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/ebizzpro?appName=Cluster0
PORT=3000Run the backend:
npm run devOr run it in production mode:
npm startHealth check:
GET http://localhost:3000/
Expected response:
{ "status": "eBizzPro API running" }POST /auth/register- create user accountPOST /auth/login- login userPATCH /auth/profile/:userId- update business profile
GET /invoices/:userId- list user invoicesPOST /invoices- create invoicePATCH /invoices/:id/status- update invoice statusDELETE /invoices/:id- delete invoice
GET /parties/:userId- list partiesPOST /parties- create partyPATCH /parties/:id- update partyDELETE /parties/:id- delete party
GET /stock/:userId- list stock itemsPOST /stock- create stock itemPATCH /stock/:id- update stock itemDELETE /stock/:id- delete stock item
HomeScreen.js- dashboard with financial performance, recent invoices, stock alerts, and top customersInvoicesScreen.js- billing engine with B2B/B2C flows, invoice filters, and recent invoice listCreateInvoiceScreen.js- customer details, stock item selection, GST calculation, and invoice generationStockScreen.js- inventory ledger, SKU search, GST badges, and low-stock trackingPartiesScreen.js- party/customer list, GSTIN search, invoice count, and revenue summaryReportsScreen.js- revenue, GST, filing, and customer reportingOnboardingScreen.js- GSTIN-based business onboardingLoginScreen.js- user login flow
GSTIN lookup is implemented in:
ebizzpro/src/utils/gstApi.js
For production, do not keep API keys hardcoded in the mobile app. Move secrets to a backend service or environment-protected API layer so keys are not exposed in the client bundle.
Backend deployment instructions are available in:
ebizzpro-backend/DEPLOY.md
Typical Render settings:
- Build command:
npm install - Start command:
node server.js - Environment variable:
MONGODB_URI
- Do not commit
.envfiles. - Do not commit database passwords or API keys.
- Rotate any API key that has already been committed or shared.
- The current backend stores passwords as plain text. Before production use, add password hashing with a library such as
bcrypt. - Restrict MongoDB Atlas network access for production instead of allowing all IPs.
Frontend:
cd ebizzpro
npm install
npm startBackend:
cd ebizzpro-backend
npm install
npm run devNo license file is currently included. Add one before publishing or sharing the project publicly.