QuickStock is a streamlined inventory management system designed for efficient stock tracking and control. It is built to serve two types of users: Admins and Suppliers, each with distinct roles and responsibilities.
- 🔐 Role-based access: Separate dashboards for Admins and Suppliers
- 📦 Product Management: Add, update, or remove items from inventory
- 📈 Inventory Tracking: View current stock levels and changes over time
- 🔔 Low Stock Alerts: Notifications for products that need restocking
- 📊 Dashboard Analytics: Quick overview of stock status with charts and metrics
- 💡 Responsive Design: Modern UI built with React and Tailwind CSS
- 🔒 Secure Authentication: JWT-based authentication with role-based access control
- 📱 Real-time Updates: Live inventory tracking and activity monitoring
- Full access to the system
- Manage all products and suppliers
- Monitor stock levels and system activity
- View comprehensive analytics and reports
- User management and system settings
- Limited access to assigned products
- Update stock quantities and product information
- View activity logs and performance metrics
- Manage their product portfolio
- Runtime: Node.js
- Framework: Express.js
- Database: MySQL
- Authentication: JWT (JSON Web Tokens)
- Password Hashing: bcrypt
- Validation: Express middleware
- Framework: React with Vite
- Styling: Tailwind CSS
- State Management: Zustand
- Routing: React Router
- Charts: Chart.js for analytics
QuickStock/
├── backend/ # Node.js & Express server
│ ├── config/ # Database configuration
│ ├── controllers/ # Request handling logic
│ ├── middleware/ # Custom middleware (auth, validation)
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── server.js # Main server file
│
├── frontend/ # React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ │ ├── admin/ # Admin-specific components
│ │ │ └── supplier/ # Supplier-specific components
│ │ ├── pages/ # Page components
│ │ │ ├── admin/ # Admin pages
│ │ │ └── supplier/ # Supplier pages
│ │ ├── store/ # Zustand state management
│ │ └── configs/ # Configuration files
│ ├── public/ # Static assets
│ └── package.json # Frontend dependencies
│
└── README.md # Project documentation
- Node.js (v16 or higher)
- npm or yarn
- MySQL database (local or cloud)
- Clone the repository:
git clone https://github.com/your-username/quickstock.git
cd quickstock- Set up the Backend:
cd backend
npm install-
Configure the database:
- Create a MySQL database
- Copy
.env.exampleto.env(if available) or create your own - Update the database connection settings in
config/database.js
-
Set up the Frontend:
cd ../frontend
npm install-
Start the development servers:
Backend (from backend directory):
npm start # or for development with nodemon npm run devFrontend (from frontend directory):
npm run dev
The backend API will be running at
http://localhost:5000(or your configured port) The frontend will be running athttp://localhost:5173(Vite default)
The backend provides RESTful APIs for:
- Authentication:
/api/auth/login,/api/auth/register - Products:
/api/products/*(CRUD operations) - Users:
/api/users/*(Admin only) - Suppliers:
/api/suppliers/*(Admin only) - Admin:
/api/admin/*(Admin dashboard data)
- Email notifications for low stock alerts
- Advanced search and filtering capabilities
- Export reports (PDF/CSV)
- Multi-language support
- Mobile app development
- Barcode scanning integration
- Advanced analytics and forecasting
- API rate limiting and caching
Contributions are welcome! Please feel free to submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please:
- Check the existing issues
- Create a new issue with detailed information
- Contact the development team
QuickStock - Streamlining inventory management for modern businesses 🚀


