An open API service indexing awesome lists of open source software.

https://github.com/zeltrex10/credotech-universal-ims-client-panel-frontend

Universal Inventory System developed by CredoTech Lead DEV
https://github.com/zeltrex10/credotech-universal-ims-client-panel-frontend

inventory-management-system inventory-system javascript nodejs nodemon react-native typescript universal

Last synced: 4 months ago
JSON representation

Universal Inventory System developed by CredoTech Lead DEV

Awesome Lists containing this project

README

          

# CredoTech Universal IMS Client Panel โ€“ Setup and Running Guide ๐Ÿ“ฆ

## Prerequisites โš™๏ธ

Ensure you have the following installed:

- Node.js (v14 or later) ๐Ÿ–ฅ๏ธ
- npm (v6 or later) ๐Ÿ“ฒ

## Clone the Repository ๐Ÿ”ฝ

Clone the repository to your local machine:

```bash
git clone
```

Navigate into the project directory:

```bash
cd
```

## Frontend Setup ๐Ÿ–ฅ๏ธ

1. Change to the frontend directory:

```bash
cd client
```

2. Install the required dependencies:

```bash
npm install
```

3. Run the frontend development server:

```bash
npm run dev
```

Your frontend should now be running on [http://localhost:5173/](http://localhost:5173/). ๐Ÿš€

## Backend Setup โš™๏ธ

1. Change to the backend directory:

```bash
cd server
```

2. Install the required dependencies:

```bash
npm install
```

3. Run the backend development server:

```bash
npm run dev
```

The backend should now be running on [http://localhost:8000](http://localhost:8000). ๐Ÿ”ฅ

## Features Overview ๐ŸŒŸ

### CredoTech Universal IMS โ€“ Client Panel ๐Ÿ“‹

#### Added Features

##### Login ๐Ÿ”‘

- **Authentication**: Users authenticate via token-based authentication. ๐Ÿ”
- **Session Management**: Tokens expire after 10 minutes, ensuring secure sessions. โณ
- **Security**: API uses hashed passwords and unique tokens for each session. ๐Ÿ”’

##### Register ๐Ÿ“

- **User Registration**: Stores user's full name, username, email, and password (with confirmation). ๐Ÿ“ง
- **Data Storage**: Information is stored in `registers.json` with hashed passwords and unique user IDs. ๐Ÿ—ƒ๏ธ
- **Roles**: Default role is "Client" (activation/deactivation features coming soon, currently managed by the admin panel). โš™๏ธ

##### Dashboard ๐Ÿ“Š

- **Inventory Statistics**:
- Total Products ๐Ÿ“ฆ
- Categories ๐Ÿ“‘
- Stock ๐Ÿ“ˆ
- Low Stock Products โš ๏ธ
- **Stock Tracking**: Tracks daily percentage changes in stock values (increase/decrease). ๐Ÿ“‰

##### Product Management ๐Ÿ›’

###### Product Page

- **New Product Modal**:
- Stores data in `products.json`. ๐Ÿ“„
- Fields: Product Name, Description, SKU, Category (e.g., Hardware, Electronics, Clothing), Quantity, Low Stock Threshold. ๐Ÿ“ฆ
- **Image Upload**: Stores images in Firebase and fetches image URLs for display. ๐Ÿ“ธ

- **Product Table**:
- Displays: Product Name, SKU, Category, Quantity, Status (In Stock/Low Stock), Actions (Edit/Delete). โš™๏ธ
- **Search**: Highlights keywords in product names, SKUs, and categories. ๐Ÿ”
- **Sorting**: Click column headers to sort data. ๐Ÿ“Š
- **Pagination**: Divides entries across pages for easier navigation. ๐Ÿ“‘

- **Modals**:
- **Edit Product**: Allows updating product details. โœ๏ธ
- **View Product**: Displays details like image, name, description, quantity, status, and SKU. ๐Ÿ”

##### Category Management ๐Ÿ“‚

###### Categories Page

- **Search & Filters**:
- Search Bar for filtering categories. ๐Ÿ”Ž
- Date Filter to select products by creation date. ๐Ÿ“…

- **Category Table**:
- Displays: Name, Description, Products Linked, Created Date. ๐Ÿ—‚๏ธ
- **Actions**:
- **View**: Displays detailed category modal. ๐Ÿ‘€
- **Edit**: Allows modifying category details. โœ๏ธ
- **Delete**: Permanently removes category. ๐Ÿ—‘๏ธ
- **Pagination**: Allows navigation across multiple pages. ๐Ÿ“„

- **Modals**:
- **View Category**: Displays read-only details (Name, Description, Products Linked, Date Created). ๐Ÿ“„
- **Edit Category**: Allows editing of Name, Description, and Associated Products. โœ๏ธ
- **Add Category**: Option to add new categories. โž•

##### Transaction Management ๐Ÿ’ณ

- **Transaction Table**:
- Displays: Product Name, Transaction Type (Stock In/Out), Quantity, Date, Added By. ๐Ÿ“…
- **Color-coded Labels**:
- Red for Stock Out. ๐Ÿ”ด
- Green for Stock In. ๐ŸŸข

- **Filtering & Actions**:
- **Filters**: Filter transactions by Start & End Date. ๐Ÿ“†
- **Search**: Allows quick lookup of transactions. ๐Ÿ”
- **Action Buttons**:
- **Add Transaction**: Opens modal for adding new transactions. โž•
- **Clear All Transactions**: Deletes all transaction records. ๐Ÿงน

- **Add Transaction Modal**:
- Select transaction type (Stock In/Out). ๐Ÿ”„
- Enter product name and quantity before saving. ๐Ÿ“ฆ

## Backend Configuration ๐Ÿ”ง

The backend uses the following modules:

- `bcrypt`: For password hashing. ๐Ÿ”
- `cors`: For handling cross-origin requests. ๐ŸŒ
- `dotenv`: For managing environment variables. ๐Ÿ—ƒ๏ธ
- `express`: Web server framework. โš™๏ธ
- `jsonwebtoken`: For creating and verifying JWT tokens. ๐Ÿ›ก๏ธ
- `ws`: WebSocket for real-time communication. ๐Ÿ“ก

Backend data is stored in files such as `registers.json` and `products.json`, and the backend supports functionality like user authentication and CRUD operations for product and category management.

## Additional Notes ๐Ÿ“

- **Frontend**: Built with React, using Vite for fast development, and integrates with Firebase for image hosting. โš›๏ธ
- **Backend**: Built with Express.js, with JWT for secure authentication and file-based data storage for simplicity. ๐Ÿ”ง