{"id":29907252,"url":"https://github.com/princelad/stockify","last_synced_at":"2025-08-09T05:23:34.503Z","repository":{"id":307625945,"uuid":"1022897288","full_name":"Princelad/stockify","owner":"Princelad","description":"A modern, open-source inventory and billing management system designed for small and medium businesses","archived":false,"fork":false,"pushed_at":"2025-08-01T08:47:54.000Z","size":1335,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-01T09:46:16.117Z","etag":null,"topics":["backend","business","express","frontend","inventory-management-system","react","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Princelad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-20T04:47:37.000Z","updated_at":"2025-07-31T10:16:43.000Z","dependencies_parsed_at":"2025-08-01T09:46:18.120Z","dependency_job_id":"ed3ef41a-936f-469e-afdc-6d4e07db5893","html_url":"https://github.com/Princelad/stockify","commit_stats":null,"previous_names":["princelad/stockify"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Princelad/stockify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princelad%2Fstockify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princelad%2Fstockify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princelad%2Fstockify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princelad%2Fstockify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Princelad","download_url":"https://codeload.github.com/Princelad/stockify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princelad%2Fstockify/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268309092,"owners_count":24230165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","business","express","frontend","inventory-management-system","react","vite"],"created_at":"2025-08-01T22:47:25.377Z","updated_at":"2025-08-01T22:47:28.808Z","avatar_url":"https://github.com/Princelad.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 📦 Stockify\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub repo](https://img.shields.io/github/stars/Princelad/stockify?style=social)\n![MIT License](https://img.shields.io/badge/license-MIT-green)\n![GitHub issues](https://img.shields.io/github/issues/Princelad/stockify)\n![GitHub forks](https://img.shields.io/github/forks/Princelad/stockify)\n![GitHub release](https://img.shields.io/github/v/release/Princelad/stockify)\n\n- 🐛 **Bug Reports:** Found a bug? [Create an issue](https://github.com/Princelad/stockify/issues/new?template=bug_report.md)\n- ✨ **Feature Requests:** Have an idea? [Suggest a feature](https://github.com/Princelad/stockify/issues/new?template=feature_request.md)\n\n**An open-source stock management and billing solution for small and medium-sized businesses**\n\n*Streamline your business operations with essential inventory tracking, billing, and customer management features*\n\n[🚀 Quick Start](#-quick-start) • [🎯 Project Scope](#-project-scope) • [✨ Features](#️-features) • [🛣️ Roadmap](#️-roadmap) • [🤝 Contributing](#-contributing)\n\n\u003c/div\u003e\n\n---\n\n## 🎯 Project Scope\n\nStockify is designed as a **minimal but comprehensive** open-source solution for stock management and billing, specifically tailored for small and medium-sized businesses. While the system includes multiple feature types, it focuses on essential functionality rather than being a fully-fledged enterprise system.\n\n### Core Purpose\nHelp shopkeepers and business owners efficiently manage their inventory and streamline billing processes by:\n- **Stock Management:** Track product details and monitor goods coming in and out of shops\n- **Integrated Billing:** Generate customer bills that automatically update stock levels\n- **Business Insights:** Display trends and growth patterns to support business decisions\n- **Customer Relations:** Manage customer purchase history and payment tracking\n\n### Key Capabilities\n- **Multi-tier Pricing:** Support both retail customers and wholesale dealers with different pricing structures\n- **Payment Flexibility:** Accept multiple payment methods (UPI, Cash, Card, etc.)\n- **Credit Management:** Track customer payment histories and set purchase permissions based on payment behavior\n- **Catalog Management:** Bulk import product catalogs and easily update stock during deliveries\n- **Order Management:** Reduce manual bookkeeping with digital order tracking\n- **Multi-supplier Support:** Track same products from different suppliers while maintaining unified inventory\n\n---\n\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Node.js 16+ and npm\n- MongoDB 4.4+\n- Git\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/Princelad/stockify.git\ncd stockify\n\n# Install backend dependencies\ncd backend \u0026\u0026 npm install\n\n# Install frontend dependencies\ncd ../frontend \u0026\u0026 npm install\n\n# Set up environment variables\ncp backend/.env.example backend/.env\n# Edit backend/.env with your configuration\n\n# Start MongoDB (if running locally)\nmongod\n\n# Start backend server (development mode)\ncd backend \u0026\u0026 npm run dev\n\n# Start frontend (in another terminal)\ncd frontend \u0026\u0026 npm start\n```\n\n### Docker Setup (Alternative)\n```bash\n# Using Docker Compose\ndocker-compose up -d\n\n# The application will be available at:\n# Frontend: http://localhost:3000\n# Backend API: http://localhost:5000\n```\n\n### Default Admin Credentials\n- **Email:** admin@stockify.com  \n- **Password:** admin123\n\n\u003e ⚠️ **Important:** Change the default admin credentials after first login!\n\n---\n\n\n## ✨ Features\n\n### 👥 User Management\n- **Role-based Access Control:** Admin and Staff roles with granular permissions\n- **Secure Authentication:** JWT-based authentication with bcrypt password hashing\n- **User Activity Tracking:** Monitor user actions and login history\n\n### 📦 Stock Management\n- **Product Catalog:** Comprehensive product management with categories and variants\n- **Multi-supplier Tracking:** Same products from different suppliers with unified inventory view\n- **Stock Levels:** Real-time inventory tracking with automatic updates during sales\n- **Bulk Import:** Import complete product catalogs from suppliers\n- **Goods Tracking:** Monitor products coming in and going out of the shop\n- **Delivery Integration:** Easy stock updates during goods delivery\n\n### 💰 Billing \u0026 Sales\n- **Integrated Billing:** Automatic stock deduction when generating customer bills\n- **Multi-tier Pricing:** Different prices for retail customers and wholesale dealers\n- **Multiple Payment Methods:** Support for UPI, Cash, Card, and other payment options\n- **Invoice Generation:** Professional bill generation with business details\n- **Customer Purchase History:** Track all customer transactions and payment records\n\n### 📊 Business Analytics\n- **Growth Trends:** Visual representation of business growth and performance\n- **Sales Reports:** Track sales patterns and identify popular products\n- **Stock Movement:** Monitor inventory turnover and movement patterns\n- **Customer Insights:** Analyze customer behavior and purchase patterns\n\n### 👤 Customer \u0026 Dealer Management\n- **Customer Profiles:** Detailed customer information and purchase history\n- **Payment History:** Track customer payments and outstanding amounts\n- **Credit Control:** Set purchase permissions based on payment behavior\n- **Loyalty Discounts:** Reward frequent customers with automatic discounts\n- **Dealer Support:** Separate pricing and management for wholesale dealers\n\n### 🔧 Business Operations\n- **Order Management:** Digital order tracking to reduce manual bookkeeping\n- **Supplier Management:** Track multiple suppliers for the same products\n- **Payment Tracking:** Monitor customer payment histories and creditworthiness\n- **Stock Alerts:** Notifications for low stock and reorder requirements\n\n\n---\n\n\n## 🧰 Tech Stack\n\n### Backend\n- **Runtime:** Node.js 18+\n- **Framework:** Express.js\n- **Database:** MongoDB with Mongoose ODM\n- **Authentication:** JWT tokens with bcrypt\n- **Validation:** Joi schema validation\n- **File Upload:** Multer for image handling\n- **Email:** Nodemailer for notifications\n- **Testing:** Jest and Supertest\n\n### Frontend\n- **Framework:** React.js 18+ with hooks\n- **Styling:** Tailwind CSS for responsive design\n- **Charts:** Chart.js and Recharts for analytics\n- **Forms:** React Hook Form with validation\n- **State Management:** Context API and React Query\n- **Icons:** React Icons and Heroicons\n- **PDF Generation:** jsPDF and react-pdf\n\n### Utilities \u0026 Integrations\n- **QR Codes:** react-qr-code and qrcode libraries\n- **PDF Generation:** PDFKit for server-side PDF creation\n- **Date Handling:** Day.js for date manipulation\n- **HTTP Client:** Axios for API communication\n- **Development:** Nodemon, Concurrently for dev workflow\n\n### DevOps \u0026 Deployment\n- **Containerization:** Docker and Docker Compose\n- **Process Management:** PM2 for production\n- **Environment:** dotenv for configuration\n- **CORS:** cors middleware for cross-origin requests\n\n\n---\n\n\n## 📁 Project Structure\n\n```text\n/stockify\n├── backend/                    # Server-side application\n│   ├── controllers/           # Business logic handlers\n│   │   ├── authController.js\n│   │   ├── productController.js\n│   │   ├── salesController.js\n│   │   └── userController.js\n│   ├── models/               # Database schemas\n│   │   ├── User.js\n│   │   ├── Product.js\n│   │   ├── Sale.js\n│   │   └── Customer.js\n│   ├── routes/               # API route definitions\n│   │   ├── auth.js\n│   │   ├── products.js\n│   │   ├── sales.js\n│   │   └── users.js\n│   ├── middleware/           # Custom middleware\n│   │   ├── auth.js\n│   │   ├── validation.js\n│   │   └── errorHandler.js\n│   ├── utils/               # Utility functions\n│   │   ├── generatePDF.js\n│   │   ├── sendEmail.js\n│   │   └── helpers.js\n│   ├── config/              # Configuration files\n│   │   └── database.js\n│   ├── tests/               # Test files\n│   ├── .env.example         # Environment variables template\n│   ├── package.json\n│   └── index.js            # Server entry point\n├── frontend/                 # Client-side application\n│   ├── public/              # Static assets\n│   ├── src/\n│   │   ├── components/      # Reusable UI components\n│   │   │   ├── common/      # Shared components\n│   │   │   ├── forms/       # Form components\n│   │   │   └── charts/      # Chart components\n│   │   ├── pages/           # Page components\n│   │   │   ├── Dashboard.jsx\n│   │   │   ├── Inventory.jsx\n│   │   │   ├── Sales.jsx\n│   │   │   └── Reports.jsx\n│   │   ├── services/        # API service functions\n│   │   │   ├── api.js\n│   │   │   ├── authService.js\n│   │   │   └── productService.js\n│   │   ├── hooks/           # Custom React hooks\n│   │   │   ├── useAuth.js\n│   │   │   └── useLocalStorage.js\n│   │   ├── context/         # React context providers\n│   │   ├── utils/           # Utility functions\n│   │   ├── styles/          # Global styles\n│   │   └── App.jsx         # Main app component\n│   ├── package.json\n│   └── tailwind.config.js\n├── docker-compose.yml        # Docker configuration\n├── .gitignore\n├── LICENSE\n└── README.md\n```\n\n\n---\n\n\n## 🛣️ Roadmap \u0026 Project Status\n\n### 📢 Current State (July 2025)\n\n- The project is now initialized with minimal boilerplate for both backend (Express) and frontend (React).\n- You can start the backend and frontend servers using the instructions in their respective `README.md` files.\n- The structure is ready for further development of features as outlined below.\n\n### 🗺️ Next Steps\n\n1. **Backend Development:**\n   - Expand the Express backend with API endpoints, models, and business logic.\n   - Add authentication, database integration, and other planned features.\n2. **Frontend Development:**\n   - Build out the React frontend with pages, components, and API integration.\n   - Implement UI for inventory, billing, analytics, and user management.\n3. **Documentation:**\n   - Continue updating the README and subfolder READMEs as features are added.\n\n### �️ Development Roadmap\n\n#### Phase 1: Core Foundation (Current)\n- [x] Project initialization with Express backend and React frontend\n- [x] Basic project structure and documentation\n- [ ] Database schema design for products, customers, and sales\n- [ ] User authentication and authorization system\n- [ ] Basic product management (CRUD operations)\n\n#### Phase 2: Stock Management\n- [ ] Product catalog with multi-supplier support\n- [ ] Stock tracking and inventory updates\n- [ ] Bulk product import functionality\n- [ ] Goods in/out tracking system\n- [ ] Stock level monitoring and alerts\n\n#### Phase 3: Billing System\n- [ ] Integrated billing with automatic stock deduction\n- [ ] Multi-tier pricing (retail vs wholesale)\n- [ ] Multiple payment method support\n- [ ] Invoice generation and printing\n- [ ] Sales transaction recording\n\n#### Phase 4: Customer Management\n- [ ] Customer profile management\n- [ ] Payment history tracking\n- [ ] Credit control and purchase permissions\n- [ ] Loyalty discount system\n- [ ] Dealer management with separate pricing\n\n#### Phase 5: Business Analytics\n- [ ] Sales trend analysis and reporting\n- [ ] Growth tracking and visualization\n- [ ] Customer behavior analytics\n- [ ] Stock movement reports\n- [ ] Business performance dashboard\n\n#### Phase 6: Advanced Features\n- [ ] Order management system\n- [ ] Multi-supplier product tracking\n- [ ] Advanced reporting and insights\n- [ ] Mobile-responsive interface improvements\n- [ ] Export/import functionality for data migration\n\n---\n\n## 📱 Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n### Dashboard Overview\n![Dashboard](https://via.placeholder.com/800x400/4F46E5/FFFFFF?text=Dashboard+Coming+Soon)\n\n### Inventory Management\n![Inventory](https://via.placeholder.com/800x400/059669/FFFFFF?text=Inventory+Coming+Soon)\n\n### Sales \u0026 Billing\n![Sales](https://via.placeholder.com/800x400/DC2626/FFFFFF?text=Sales+Coming+Soon)\n\n\u003c/div\u003e\n\n---\n\n## 🚀 Getting Started Guide\n\n### For Business Owners\n1. **Setup:** Follow the [Quick Start](#-quick-start) guide\n2. **Configuration:** Set up your business details, tax rates, and user accounts\n3. **Catalog:** Import your product catalog or add products manually with supplier details\n4. **Customers:** Set up customer profiles and dealer accounts with appropriate pricing\n5. **Operations:** Start processing sales with integrated stock management and billing\n6. **Analytics:** Monitor business growth trends and customer patterns\n\n### For Shopkeepers\n1. **Product Management:** Easily add products from multiple suppliers to your catalog\n2. **Stock Tracking:** Monitor goods coming in during deliveries and going out during sales\n3. **Billing:** Generate bills that automatically update your stock levels\n4. **Customer Relations:** Track customer payment histories and manage credit limits\n5. **Order Management:** Reduce manual bookkeeping with digital order tracking\n6. **Business Insights:** View trends and growth to make informed business decisions\n\n### For Developers\n1. **Fork** the repository and clone your fork\n2. **Setup** the development environment following our [contribution guide](#-contributing)\n3. **Explore** the codebase and review our [coding standards](CONTRIBUTING.md)\n4. **Pick** an issue from our [GitHub Issues](https://github.com/Princelad/stockify/issues)\n5. **Contribute** by submitting a pull request\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions from developers of all skill levels! Here's how you can help:\n\n### Ways to Contribute\n- � **Bug Reports:** Found a bug? [Create an issue](https://github.com/your-org/stockify/issues/new?template=bug_report.md)\n- ✨ **Feature Requests:** Have an idea? [Suggest a feature](https://github.com/your-org/stockify/issues/new?template=feature_request.md)\n- 📖 **Documentation:** Improve our docs, add tutorials, or fix typos\n- 🧪 **Testing:** Write tests, improve test coverage, or test new features\n- 💻 **Code:** Implement new features, fix bugs, or improve performance\n\n### Development Setup\n```bash\n# Fork and clone the repository\ngit clone https://github.com/Princelad/stockify.git\ncd stockify\n\n# Install dependencies\nnpm run install:all\n\n# Set up pre-commit hooks\nnpm run prepare\n\n# Run tests\nnpm test\n\n# Start development servers\nnpm run dev\n```\n\n### Contribution Guidelines\n- Follow our [Code of Conduct](CODE_OF_CONDUCT.md)\n- Check existing [issues](https://github.com/Princelad/stockify/issues) before creating new ones\n- Follow conventional commit messages (`feat:`, `fix:`, `docs:`, etc.)\n- Write tests for new features and bug fixes\n- Update documentation for API changes\n- Ensure all tests pass before submitting PR\n\n### Recognition\nContributors will be featured in our [Contributors Hall of Fame](CONTRIBUTORS.md) and receive special badges based on their contributions.\n\n---\n\n## 📖 Documentation\n\n- [📘 API Documentation](docs/API.md) - Complete REST API reference\n- [🔧 Installation Guide](docs/INSTALLATION.md) - Detailed setup instructions\n- [🎯 User Manual](docs/USER_GUIDE.md) - End-user documentation\n- [🧪 Testing Guide](docs/TESTING.md) - How to run and write tests\n- [🚀 Deployment Guide](docs/DEPLOYMENT.md) - Production deployment instructions\n- [🤝 Contributing Guidelines](CONTRIBUTING.md) - Developer contribution guide\n\n---\n\n## 🌟 Community \u0026 Support\n\n### Get Help\n- 📚 [Documentation](https://stockify-docs.com) - Comprehensive guides and API docs\n- 💬 [Discord Community](https://discord.gg/stockify) - Chat with users and developers\n- 🐛 [GitHub Issues](https://github.com/Princelad/stockify/issues) - Bug reports and feature requests\n- 📧 [Email Support](mailto:support@stockify.com) - Direct support for critical issues\n\n### Stay Updated\n- ⭐ **Star** this repository to show support\n- 👀 **Watch** for updates and new releases\n- 🐦 **Follow** us on [Twitter](https://twitter.com/stockifyapp)\n- 📝 **Subscribe** to our [Blog](https://blog.stockify.com) for updates\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n### Third-party Licenses\nThis project uses several open-source packages. See [LICENSES.md](LICENSES.md) for a complete list of third-party licenses.\n\n---\n\n## 🙏 Acknowledgments\n\n- Thanks to all [contributors](CONTRIBUTORS.md) who have helped build Stockify\n- Inspired by modern inventory management needs of small businesses\n- Built with ❤️ by the open-source community\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**⭐ Star this repository if you find it helpful!**\n\nMade with ❤️ by the Stockify community\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprincelad%2Fstockify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprincelad%2Fstockify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprincelad%2Fstockify/lists"}