A modern, web-based Inventory and Billing Management System designed for local marts and retail stores. Streamline your business operations with real-time inventory tracking, automated billing, and comprehensive analytics.
- About The Project
- Key Features
- User Roles & Permissions
- Tech Stack
- Getting Started
- Installation
- Usage
- Screenshots
- Contributing
- License
- Contact
- Acknowledgments
meroByapar (meaning "My Business" in Nepali) is a comprehensive inventory and billing solution crafted specifically for local marts, mini-marts, and retail stores. The system eliminates manual record-keeping by providing an intuitive digital platform that automates daily business operations.
This project is developed as part of the Second Year Project (SYP) , demonstrating the application of full-stack development skills to solve real-world business problems. The project showcases:
- Full-stack development expertise
- Role-based access control implementation
- Real-time data management
- Business process automation
- Professional software development practices
- Real-time stock tracking and updates
- Low stock alerts and notifications
- Product categorization and tagging
- Batch and expiry date tracking
- Fast and accurate bill generation
- Multiple payment method support
- Digital invoice creation
- Print-friendly bill formats
- GST/VAT calculation support
- Real-time profit/loss overview
- Daily, weekly, and monthly sales reports
- Top-selling products analysis
- Revenue trends and forecasting
- Custom report generation
- Role-based access control (RBAC)
- Secure authentication system
- Activity logging and audit trails
- Supplier database management
- Purchase order tracking
- Supplier performance metrics
- Contact management
- Low stock alerts
- Expiry date reminders
- Daily sales summaries
- System updates and alerts
- Create and manage stores
- Manage subscription plans
- Activate/deactivate stores
- System-wide settings
- Monitor all stores
- Generate system analytics
- Full inventory control
- Add, edit, delete products
- Set and update prices
- Manage stock levels
- Bulk product operations
- Reports & Analytics
- View all sales reports
- Monitor profit/loss
- Track store performances
- Staff Management
- Add/remove cashiers
- Set cashier permissions
- View staff activity
- Operations
- Approve refund requests
- Manage suppliers
- Handle customer queries
- Configure store settings
- Billing Operations
- Process customer bills
- Handle multiple payment methods
- Apply discounts (within limits)
- Print/email invoices
- Basic Functions
- View product catalog
- Check stock availability
- Request refunds
- View daily sales (own)
- Restrictions
- β Cannot edit product prices
- β Cannot modify inventory
- β Cannot access reports
- β Cannot manage staff
- HTML5/CSS3 - Structure and styling
- JavaScript (ES6+) - Dynamic functionality
- React.js - UI components and state management
- Bootstrap/Tailwind - Responsive design
- Chart.js - Data visualization
- Node.js - Runtime environment
- Express.js - Web framework
- RESTful APIs - Service communication
- MongoDB/MySQL - Primary database
- Redis - Caching (optional)
- JWT - Token-based authentication
- bcrypt - Password encryption
- Git - Version control
- Postman - API testing
- VS Code - Code editor
- Node.js (v14 or higher)
- npm or yarn
- MongoDB/MySQL
- Git
-
Clone the repository
git clone https://github.com/yourusername/meroByapar.git cd meroByapar -
Install backend dependencies
cd backend npm install -
Install frontend dependencies
cd ../frontend npm install -
Configure environment variables
Create a
.envfile in the backend directory:PORT=5000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key NODE_ENV=development
-
Set up the database
# Run database migrations npm run migrate # Seed initial data npm run seed
-
Start the development servers
Backend server (from backend directory):
npm run dev
Frontend server (from frontend directory):
npm start
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- API Documentation: http://localhost:5000/api-docs
Admin:
Email: admin@merobyapar.com
Password: admin123
Manager:
Email: manager@store.com
Password: manager123
Cashier:
Email: cashier@store.com
Password: cashier123
- Login with appropriate credentials
- Manager: Add products, set prices, manage stock
- Cashier: Start billing customers
- View Reports: Access analytics dashboard
- Manage Suppliers: Add supplier information