https://github.com/chuck-ankit/inventra
A sophisticated enterprise-grade inventory management solution designed to streamline and optimize your organization's supply chain operations. StockManager empowers businesses with comprehensive inventory control, advanced analytics, and seamless transaction processing capabilities, enabling data-driven decision-making and operational excellence.
https://github.com/chuck-ankit/inventra
mongod node reactjs typescript
Last synced: about 1 month ago
JSON representation
A sophisticated enterprise-grade inventory management solution designed to streamline and optimize your organization's supply chain operations. StockManager empowers businesses with comprehensive inventory control, advanced analytics, and seamless transaction processing capabilities, enabling data-driven decision-making and operational excellence.
- Host: GitHub
- URL: https://github.com/chuck-ankit/inventra
- Owner: chuck-ankit
- License: mit
- Created: 2025-05-17T19:14:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-19T15:50:59.000Z (about 1 year ago)
- Last Synced: 2025-06-10T04:09:26.847Z (about 1 year ago)
- Topics: mongod, node, reactjs, typescript
- Language: TypeScript
- Homepage: https://inventra-blond.vercel.app
- Size: 274 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Inventra - Modern Inventory Management System
Inventra is a powerful, modern inventory management system built with React and TypeScript. It provides a comprehensive solution for managing inventory, tracking stock levels, and generating reports.

## 🌟 Features
### Core Features
- 📊 Real-time inventory tracking
- 🔔 Low stock alerts and notifications
- 📈 Comprehensive reporting and analytics
- 🔍 Advanced search functionality
- 👥 Multi-user support with role-based access
- 🌙 Dark mode support
- 📱 Responsive design for all devices
### Inventory Management
- Add, edit, and delete inventory items
- Track stock levels and movements
- Set minimum stock thresholds
- Categorize items
- Bulk import/export functionality
### Reporting & Analytics
- Sales and inventory reports
- Stock movement history
- Low stock alerts
- Custom report generation
- Data visualization with charts
### User Experience
- Modern, intuitive interface
- Quick search functionality
- Real-time notifications
- Keyboard shortcuts
- Responsive design
## 🛠️ Technology Stack
- **Frontend Framework**: React 18
- **Language**: TypeScript
- **State Management**: Custom stores with React Context
- **Database**: IndexedDB (Dexie.js)
- **Styling**: Tailwind CSS
- **Icons**: Lucide Icons
- **Charts**: Chart.js
- **Routing**: React Router v6
- **Build Tool**: Vite
## 📁 Project Structure
```
inventra/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable components
│ │ ├── auth/ # Authentication components
│ │ ├── dashboard/ # Dashboard components
│ │ ├── inventory/ # Inventory management components
│ │ ├── layout/ # Layout components
│ │ └── ui/ # UI components
│ ├── contexts/ # React contexts
│ ├── db/ # Database configuration
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Page components
│ ├── stores/ # State management
│ ├── types/ # TypeScript types
│ └── utils/ # Utility functions
├── .gitignore
├── index.html
├── package.json
├── tsconfig.json
└── vite.config.ts
```
## 🚀 Installation
1. Clone the repository:
```bash
git clone https://github.com/chuck-ankit/Inventra.git
cd Inventra
```
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm run dev
```
4. Build for production:
```bash
npm run build
```
## 🏃♂️ Running the Application
### Running Backend
1. Navigate to the server directory:
```bash
cd server
```
2. Install backend dependencies:
```bash
npm install
```
3. Create a `.env` file in the server directory with the required environment variables (see Backend Environment Variables section)
4. Start the backend server:
```bash
npm run dev
```
The backend server will start on http://localhost:5000
### Running Frontend
1. Open a new terminal and navigate to the project root directory:
```bash
cd inventra
```
2. Install frontend dependencies (if not already installed):
```bash
npm install
```
3. Create a `.env` file in the root directory with the required environment variables (see Environment Variables section)
4. Start the frontend development server:
```bash
npm run dev
```
The frontend application will start on http://localhost:5174
### Running Both Together
You can run both the backend and frontend concurrently using the following command in the root directory:
```bash
npm run dev:all
```
## 🔧 Environment Variables
Create a `.env` file in the root directory:
```env
VITE_APP_NAME=Inventra
VITE_APP_VERSION=1.0.0
VITE_API_URL=http://localhost:5000/api
```
### Backend Environment Variables
Create a `.env` file in the server directory:
```env
# Server Configuration
PORT=5000
NODE_ENV=development
# Frontend URL (for CORS and security)
FRONTEND_URL=http://localhost:5174
API_URL=http://localhost:5000
# Database Configuration
MONGODB_URI=your_mongdb_uri
# JWT Configuration
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=24h
# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000 # 15 minutes
RATE_LIMIT_MAX_REQUESTS=100
```
## 📱 Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
## 🤝 Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- [React](https://reactjs.org/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Dexie.js](https://dexie.org/)
- [Lucide Icons](https://lucide.dev/)
- [Chart.js](https://www.chartjs.org/)