Shiv Furniture Cloud is a comprehensive cloud-based accounting and inventory management platform, purpose-built for furniture manufacturers. It helps streamline operations from sales and procurement to invoicing, stock control, payments, and financial reporting — all in one responsive web application.
- 🔐 Authentication – Secure login system with role-based access (Admin, Invoicing User, Contact)
- 👥 Contact Management – Manage customers and suppliers with detailed contact information
- 🛋 Product Catalog – Track stock levels, taxes, HSN codes, and product categories
- 📦 Sales Workflow – Sales Orders → Invoices → Payments with automatic stock updates
- 📥 Purchase Workflow – Purchase Orders → Bills → Payments
- 📊 Reports & Analytics – Real-time P&L, Balance Sheet, Stock Reports, and Partner Ledger
- 📱 Mobile Responsive – Fully functional on desktop, tablet, and mobile devices
- 🎨 Modern UI – Clean, intuitive interface built with Tailwind CSS
- React 18.3.1 – UI library
- TypeScript 5.5.3 – Type-safe JavaScript
- Vite 5.4.2 – Fast build tool and dev server
- Tailwind CSS 3.4.1 – Utility-first CSS framework
- Lucide React 0.344.0 – Beautiful icon library
- PostCSS 8.4.35 – CSS processing
- Autoprefixer 10.4.18 – CSS vendor prefixing
- Supabase 2.57.4 – Backend-as-a-Service
- PostgreSQL (Database)
- Auth (User sessions)
- Storage (File uploads)
- ESLint 9.9.1 – Code linting
- TypeScript ESLint 8.3.0 – TypeScript linting
- React Hooks ESLint Plugin – React hooks linting
- React Refresh ESLint Plugin – Fast refresh support
shiv_clouds/
├── src/
│ ├── components/
│ │ ├── Auth/
│ │ │ └── LoginForm.tsx # Login/authentication component
│ │ ├── Dashboard/
│ │ │ ├── Dashboard.tsx # Main dashboard container
│ │ │ ├── DashboardStats.tsx # Statistics cards
│ │ │ ├── QuickActions.tsx # Quick action buttons
│ │ │ └── RecentTransactions.tsx # Recent transactions list
│ │ ├── Layout/
│ │ │ ├── Header.tsx # Application header
│ │ │ └── Sidebar.tsx # Navigation sidebar
│ │ ├── MasterData/
│ │ │ ├── ContactMaster.tsx # Customer/vendor management
│ │ │ ├── ProductMaster.tsx # Product/service management
│ │ │ ├── TaxMaster.tsx # Tax configuration
│ │ │ └── ChartOfAccounts.tsx # Accounting structure
│ │ ├── Transactions/
│ │ │ ├── PurchaseOrders.tsx # Purchase order management
│ │ │ ├── SalesOrders.tsx # Sales order management
│ │ │ └── Payments.tsx # Payment/receipt recording
│ │ └── Reports/
│ │ └── Reports.tsx # Financial reports
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ ├── App.tsx # Main application component
│ ├── main.tsx # Application entry point
│ ├── index.css # Global styles
│ └── vite-env.d.ts # Vite type definitions
├── .gitignore # Git ignore rules
├── eslint.config.js # ESLint configuration
├── index.html # HTML entry point
├── package.json # Dependencies and scripts
├── postcss.config.js # PostCSS configuration
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
├── tsconfig.app.json # App TypeScript config
├── tsconfig.node.json # Node TypeScript config
├── vite.config.ts # Vite configuration
└── README.md # Project documentation
- LoginForm.tsx – Secure login interface with demo credentials
- Role-based access control (Admin, Invoicing User, Contact)
- Password visibility toggle
- Remember me functionality
- DashboardStats.tsx – Key performance indicators (Revenue, Customers, Products, Pending Invoices)
- QuickActions.tsx – Fast access to common operations
- RecentTransactions.tsx – Latest business activities with status tracking
-
ContactMaster.tsx – Customer and vendor management with:
- Contact type classification (Customer, Vendor, Both)
- Address management (City, State, Pincode)
- Search and filter functionality
- CRUD operations
-
ProductMaster.tsx – Product and service catalog with:
- Sales and purchase pricing
- Tax percentage configuration
- HSN code support
- Category management
- Stock tracking capabilities
-
TaxMaster.tsx – Tax configuration with:
- Percentage and fixed amount computation
- Sales/purchase applicability
- Multiple tax rate support
-
ChartOfAccounts.tsx – Accounting structure with:
- Asset, Liability, Income, Expense, Equity types
- Hierarchical account organization
- Type-based filtering
-
SalesOrders.tsx – Sales order processing with:
- Customer selection
- Product line items with automatic pricing
- Tax calculation
- Order status tracking (Draft, Confirmed, Invoiced)
-
PurchaseOrders.tsx – Purchase order management with:
- Vendor selection
- Product line items
- Tax calculation
- Order status tracking (Draft, Confirmed, Billed)
-
Payments.tsx – Payment processing with:
- Receipt and payment recording
- Multiple payment methods (Cash, Bank)
- Reference tracking (Invoice/Bill IDs)
- Cash flow analysis
- Reports.tsx – Comprehensive financial reporting with:
- Balance Sheet (Assets, Liabilities, Equity)
- Profit & Loss Statement (Income, Expenses, Net Profit)
- Stock Report (Inventory levels, Valuation)
- Date range filtering
- Export functionality
- tsconfig.json – Root TypeScript configuration with project references
- tsconfig.app.json – Application-specific TypeScript settings
- tsconfig.node.json – Node.js TypeScript configuration
- vite.config.ts – Vite configuration with React plugin and Lucide optimization
- tailwind.config.js – Tailwind CSS content configuration
- postcss.config.js – PostCSS plugins (Tailwind, Autoprefixer)
- eslint.config.js – ESLint configuration with React and TypeScript support
- .gitignore – Git ignore rules (node_modules)
The project uses a comprehensive type system defined in src/types/index.ts:
- User – User authentication and role information
- Contact – Customer and vendor contact details
- Product – Product and service information
- Tax – Tax configuration and rates
- ChartOfAccount – Account structure for financial reporting
- PurchaseOrder – Purchase order with line items
- PurchaseOrderItem – Individual purchase order items
- VendorBill – Vendor billing information
- SalesOrder – Sales order with line items
- SalesOrderItem – Individual sales order items
- CustomerInvoice – Customer invoice details
- Payment – Payment and receipt records
- FinancialReport – Complete financial report structure
- StockItem – Inventory stock information
- Node.js (v16 or higher)
- npm or bun package manager
- Git
git clone https://github.com/rishanmenezes/shivcloud.git
cd shiv_cloudsnpm install
# or
bun installCreate a .env file in the root folder with:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_keynpm run dev
# or
bun run devAccess the application at: http://localhost:5173
npm run build
# or
bun run buildnpm run preview
# or
bun run previewThe application includes demo authentication:
Admin User:
- Email: admin@shiv.com
- Password: admin123
- Role: admin
Standard User:
- Email: user@shiv.com
- Password: user123
- Role: invoicing_user
- Sign in using demo credentials or configure Supabase authentication
- Role-based access determines available features
- Contacts: Add customers and suppliers with detailed information
- Products: Create product catalog with pricing and tax information
- Taxes: Configure tax rates and computation methods
- Chart of Accounts: Set up your accounting structure
- Sales Orders: Create customer orders with automatic stock updates
- Purchase Orders: Generate vendor purchase orders
- Payments: Record customer receipts and vendor payments
- Balance Sheet: View assets, liabilities, and equity
- Profit & Loss: Analyze income and expenses
- Stock Reports: Monitor inventory levels and valuation
- Primary: Blue (action buttons, links, active states)
- Success: Green (positive indicators, receipts)
- Warning: Yellow/Orange (pending states)
- Error: Red (negative indicators, payments)
- Neutral: Gray (text, borders, backgrounds)
- Cards with hover effects
- Modal dialogs for forms
- Status badges with color coding
- Responsive tables and grids
- Icon-based navigation
npm run buildThe build output will be in the dist/ directory.
Ensure the following environment variables are set in production:
VITE_SUPABASE_URL– Your Supabase project URLVITE_SUPABASE_ANON_KEY– Your Supabase anonymous key
- Vercel – Recommended for React applications
- Netlify – Simple deployment with Git integration
- AWS S3 – Static site hosting
- GitHub Pages – Free hosting for public repositories
- GST/Regional Tax Support
- QR/Barcode Scanning
- Invoice PDF Generation
- Email Integration for Invoices
- Role-Based Access Controls Enhancement
- Cloud Printing for Invoices
- Multi-currency Support
- Advanced Analytics Dashboard
- Mobile App (React Native)
- API Documentation
Currently, the project uses mock data for demonstration. Future versions will include:
- Unit tests with Jest
- Integration tests with React Testing Library
- E2E tests with Playwright
npm run dev– Start development servernpm run build– Build for productionnpm run lint– Run ESLintnpm run preview– Preview production build
- Rishan Menezes – Project Lead
- Rakesh G – Development
- Nagaraju HL – Development
- Prithvi HN – Development
This project is licensed under the MIT License.
We welcome contributions! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Add comments for complex logic
- Update the README as needed
- Test your changes thoroughly
For support, questions, or suggestions:
- Open an issue on GitHub
- Contact the development team
- Check existing documentation
Watch the live demo on YouTube: 👉 https://youtu.be/phUE_kJ-SBY?si=O-B66feXB_Y3p4xR
- Built with React and TypeScript
- Styled with Tailwind CSS
- Icons by Lucide React
- Backend powered by Supabase
- Inspired by modern accounting software
Shiv Furniture Cloud – Simplifying accounting and inventory management for furniture manufacturers.