Live Demo β’ Report Bug β’ Request Feature
Bill Manager is a full-stack enterprise billing solution designed specifically for Makwel Industries, India's premier tractor-driven agricultural equipment manufacturer. This sophisticated system streamlines invoice generation, customer data management, and sales analytics for agricultural machinery including threshers, grain processors, and farming equipment.
graph TD
A[Bill Manager System] --> B[Frontend - React 19]
A --> C[Backend - Node.js/Express]
A --> D[Database - MongoDB]
B --> E[Dynamic Bill Generation]
B --> F[Product Catalog]
B --> G[Advanced Filtering]
C --> H[RESTful API]
C --> I[Data Validation]
D --> J[Cloud Database]
D --> K[Real-time Updates]
style A fill:#4F46E5,stroke:#333,stroke-width:4px,color:#fff
style B fill:#61DAFB,stroke:#333,stroke-width:2px
style C fill:#68A063,stroke:#333,stroke-width:2px
style D fill:#47A248,stroke:#333,stroke-width:2px
| Feature | Description | Status |
|---|---|---|
| π§Ύ Smart Bill Generation | Dynamic invoice creation with real-time total calculation | β Production |
| π₯ Customer Management | Comprehensive customer profiles with address tracking | β Production |
| π¦ Product Catalog | Extensive agricultural equipment showcase | β Production |
| π Advanced Filtering | Filter bills by State, District, and Taluka | β Production |
| π Sorting & Analytics | Sort by date (Latest/Oldest) with visual insights | β Production |
| π¨οΈ Print Functionality | Professional invoice printing | β Production |
| π± Responsive Design | Mobile-first approach with TailwindCSS | β Production |
| βοΈ Cloud Deployment | Deployed on Render for 24/7 availability | β Production |
flowchart LR
subgraph Client["π₯οΈ Frontend Layer"]
A[React 19 SPA]
B[Vite Build]
C[TailwindCSS]
end
subgraph Server["βοΈ Backend Layer"]
D[Express.js API]
E[CORS Middleware]
F[Data Validation]
end
subgraph Data["πΎ Data Layer"]
G[MongoDB Atlas]
H[Bill Schema]
end
subgraph Features["β¨ Features"]
I[Bill Creation]
J[Bill Retrieval]
K[Filtering]
L[Analytics]
end
A --> D
D --> G
I --> D
J --> D
K --> D
L --> D
style Client fill:#61DAFB,stroke:#333,stroke-width:2px
style Server fill:#68A063,stroke:#333,stroke-width:2px
style Data fill:#47A248,stroke:#333,stroke-width:2px
style Features fill:#F59E0B,stroke:#333,stroke-width:2px
Core Framework: React 19.0.0 (Latest)
Build Tool: Vite 6.2.0 (Lightning-fast HMR)
Styling: TailwindCSS 4.0.10 (Utility-first CSS)
Routing: React Router DOM 7.2.0
HTTP Client: Axios 1.8.1
Icons: Lucide React + React Icons
State Management: React Hooks (useState, useEffect)Runtime: Node.js
Framework: Express 4.21.2
Database: MongoDB 6.14.2
ODM: Mongoose 8.12.1
Security: CORS 2.8.5
Environment: dotenv 16.4.7
Development: Nodemon 3.1.9Version Control: Git & GitHub
Cloud Platform: Render (Backend)
Database Hosting: MongoDB Atlas
CI/CD: Automated deployment pipelineBill-Manager/
β
βββ π Backend/ # Node.js Express Server
β βββ server.js # Main server configuration
β βββ package.json # Backend dependencies
β βββ π models/
β β βββ billSchema.js # Bill validation schema
β βββ π routes/
β βββ bill.js # Bill CRUD operations
β
βββ π Frontend/ # React Application
βββ index.html # Entry HTML
βββ package.json # Frontend dependencies
βββ vite.config.js # Vite configuration
βββ eslint.config.js # Code quality rules
β
βββ π src/
βββ main.jsx # React entry point
βββ App.jsx # Main App component
βββ App.css # Global styles
β
βββ π Component/
βββ Navbar.jsx # Navigation component
β
βββ π Bill/
β βββ Bill.jsx # Bill list with filters
β βββ Bill.css
β
βββ π BillForm/
β βββ BillForm.jsx # Dynamic bill creation
β βββ BillForm.css
β
βββ π BillList/
β βββ BillList.jsx # Bill display component
β
βββ π Billdetails/
β βββ Billdetails.jsx # Individual bill view
β βββ Billdetails.css
β
βββ π Home/
β βββ Home.jsx # Landing page
β βββ Home.css
β β
β βββ π BrowseProducts/
β β βββ BrowseProducts.jsx
β β βββ BrowseProducts.css
β β
β βββ π ProductDetail/
β βββ MaizeCornThresher/
β βββ SamratCastorThresher/
β βββ SamratGrainThresher/
β βββ SamratGroundNutDigger/
β βββ SamratMultiGrainThresher/
β
βββ π ContactUs/
βββ ContactUs.jsx
βββ ContactUs.css
graph LR
A[Performance Metrics] --> B[Build Time: <2s]
A --> C[Bundle Size: Optimized]
A --> D[API Response: <200ms]
A --> E[Database Queries: Indexed]
style A fill:#8B5CF6,stroke:#333,stroke-width:3px,color:#fff
style B fill:#10B981,stroke:#333,stroke-width:2px
style C fill:#10B981,stroke:#333,stroke-width:2px
style D fill:#10B981,stroke:#333,stroke-width:2px
style E fill:#10B981,stroke:#333,stroke-width:2px
- Modern Design: Clean, professional interface with smooth animations
- Responsive Layout: Seamless experience across desktop, tablet, and mobile
- Intuitive UX: Simple navigation with clear call-to-actions
- Accessibility: WCAG compliant design patterns
Bill Schema {
customerName: String (Required)
items: Array [
{
name: String,
price: Number,
quantity: Number
}
]
totalAmount: Number (Auto-calculated)
date: Date (ISO format)
address: {
houseNo: String,
street: String,
city: String,
taluka: String,
district: String,
state: String
}
}# Required software
- Node.js >= 16.x
- npm >= 8.x
- MongoDB Atlas account
- Gitgit clone https://github.com/yourusername/bill-manager.git
cd bill-managercd Backend
npm install
# Create .env file
touch .env
# Add environment variables
MONGO_URI=your_mongodb_connection_string
DB_NAME=bill_manager
PORT=5000
# Start backend server
npm startcd Frontend
npm install
# Start development server
npm run devFrontend: http://localhost:5173
Backend API: http://localhost:5000
| Method | Endpoint | Description |
|---|---|---|
POST |
/bills/create |
Create new bill |
GET |
/bills/all |
Retrieve all bills |
GET |
/bills/:id |
Get specific bill |
PUT |
/bills/:id |
Update bill |
DELETE |
/bills/:id |
Delete bill |
POST /bills/create
Content-Type: application/json
{
"customerName": "Ramesh Patel",
"items": [
{
"name": "Samrat Multi Grain Thresher",
"price": 85000,
"quantity": 1
}
],
"totalAmount": 85000,
"date": "2025-12-15",
"address": {
"houseNo": "45",
"street": "Agriculture Road",
"city": "Rajkot",
"taluka": "Rajkot",
"district": "Rajkot",
"state": "Gujarat"
}
}The system manages billing for these premium agricultural products:
| Product | Category | Features |
|---|---|---|
| π½ Maize/Corn Thresher | Grain Processing | High-capacity corn shelling |
| π± Samrat Grain Thresher | Multi-Crop | Wheat, rice, barley processing |
| π₯ Groundnut Digger | Harvesting | Efficient groundnut extraction |
| πΎ Multi Grain Thresher | Universal | All-in-one grain solution |
| π« Castor Thresher | Specialized | Castor seed processing |
sequenceDiagram
participant U as User
participant F as Frontend
participant B as Backend API
participant D as MongoDB
U->>F: Fill Bill Form
F->>F: Validate Input
F->>F: Calculate Total
F->>B: POST /bills/create
B->>B: Validate Schema
B->>D: Insert Document
D-->>B: Confirm Save
B-->>F: Success Response
F-->>U: Show Success Message
U->>F: View Bills
F->>B: GET /bills/all
B->>D: Query All Bills
D-->>B: Return Documents
B-->>F: JSON Response
F->>F: Apply Filters
F-->>U: Display Bills
β
Full-Stack Development: End-to-end application development
β
RESTful API Design: Industry-standard API architecture
β
Database Management: MongoDB schema design and queries
β
React Ecosystem: Latest React 19 with modern hooks
β
Responsive Design: Mobile-first CSS with TailwindCSS
β
State Management: Complex state handling in React
β
Form Validation: Client and server-side validation
β
Cloud Deployment: Production deployment on Render
β
Problem Solving: Complex business logic implementation
β
Code Organization: Clean, maintainable codebase
β
Documentation: Comprehensive README and comments
β
Version Control: Git workflow best practices
- β Environment variable protection
- β Input validation on frontend and backend
- β CORS configuration for API security
- β Schema validation for data integrity
- β Secure MongoDB connection string handling
mindmap
root((Future Roadmap))
Authentication
JWT Tokens
Role-based Access
User Profiles
Analytics
Sales Dashboard
Revenue Graphs
Customer Insights
Features
PDF Export
Email Invoices
Payment Gateway
Performance
Redis Caching
GraphQL API
Microservices
This project is developed for Makwel Industries - All Rights Reserved.