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
- Host: GitHub
- URL: https://github.com/zeltrex10/credotech-universal-ims-client-panel-frontend
- Owner: Zeltrex10
- Created: 2025-02-09T14:08:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-09T14:54:25.000Z (over 1 year ago)
- Last Synced: 2025-02-09T15:27:39.860Z (over 1 year ago)
- Topics: inventory-management-system, inventory-system, javascript, nodejs, nodemon, react-native, typescript, universal
- Language: TypeScript
- Homepage: https://github.com/Zeltrex10/CredoTech-Universal-IMS-Client-Panel-Frontend
- Size: 502 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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. ๐ง