शुरुआत करें
cPanel, Hostinger या अपने VPS पर AssetHub 10 मिनट से कम में इंस्टॉल करें।
उपयोगकर्ता और भूमिकाएँ
Spatie अनुमतियों के साथ 5 पूर्व-कॉन्फ़िगर की गई भूमिकाएँ, प्रति उपयोगकर्ता फाइन-ट्यून करने योग्य।
उत्पाद विशेषताएँ
संपत्तियाँ, बैच ट्रैकिंग, कार्यप्रवाह, निपटान, रखरखाव, मूल्यह्रास, ऑडिट लॉग और भी बहुत कुछ।
अनुकूलन
असीमित कस्टम फ़ील्ड जोड़ें, ब्रांडिंग, भाषाएँ और थीम बदलें।
Hostinger सेटअप
सबसे सस्ते Single shared hosting टियर पर चरण-दर-चरण डिप्लॉय।
cPanel सेटअप
मानक cPanel shared hosting पर चरण-दर-चरण डिप्लॉय — Terminal की ज़रूरत नहीं।
सुरक्षा और QR
HTTPS, HMAC-हस्ताक्षरित webhooks, ऑडिट लॉग, और कैमरे के ज़रिए QR स्कैनर।
रिपोर्ट और निर्यात
Excel + PDF निर्यात और दिनांक फ़िल्टर के साथ 12 अंतर्निहित रिपोर्ट।
ईमेल अलर्ट
वारंटी, रखरखाव, दस्तावेज़ समाप्ति और अतिदेय चेकआउट अनुस्मारक।
अक्सर पूछे जाने वाले प्रश्न
क्या मैं सबसे सस्ते Hostinger Single प्लान पर AssetHub चला सकता हूँ?
हाँ — AssetHub Hostinger Single (~$2.99/माह) के साथ पूर्णतः संगत है। Single में PHP 8.3, MySQL, native Cron Jobs और मुफ़्त SSL शामिल हैं — AssetHub को जो कुछ चाहिए वह सब। SSH, Composer या command line की ज़रूरत नहीं। चरण-दर-चरण गाइड के लिए Hostinger Setup अनुभाग देखें।
क्या इंस्टॉल करने के लिए तकनीकी कौशल चाहिए?
नहीं। वेब-आधारित installer सब कुछ संभालता है: requirements check, database setup, migrations और admin account बनाना। बस फ़ाइलें अपलोड करें, ब्राउज़र में /install खोलें और wizard का पालन करें।
निर्धारित ईमेल (warranty/maintenance alerts) कैसे काम करते हैं?
AssetHub Laravel के scheduler का उपयोग करता है। आप केवल एक cron job कॉन्फ़िगर करते हैं जो हर मिनट चलता है, और Laravel आंतरिक रूप से प्रत्येक task सही समय पर dispatch करता है (daily 08:00, monthly, आदि)। cPanel के लिए, इसे Advanced → Cron Jobs में सेट करें। Hostinger के लिए, hPanel → Advanced → Cron Jobs उपयोग करें। cPanel सेटअप → चरण 7 या Hostinger सेटअप → चरण 5 देखें। यदि host में cron नहीं है, तो मुफ़्त cron-job.org सेवा के साथ in-app Cron URL उपयोग करें।
कौन-सी depreciation विधियाँ समर्थित हैं?
तीन विधियाँ: Straight Line (समान वार्षिक depreciation), Declining Balance (त्वरित, कर के लिए सामान्य), और Units of Production (उपयोग-आधारित, manufacturing equipment के लिए)। Asset मूल्य हर महीने की 1 तारीख को स्वतः refresh होते हैं।
क्या QR scanner मोबाइल फ़ोन पर काम करता है?
हाँ — यह html5-qrcode के ज़रिए browser camera उपयोग करता है और किसी भी आधुनिक phone/tablet/desktop browser पर काम करता है। एकमात्र आवश्यकता HTTPS है। cPanel AutoSSL और Hostinger Let's Encrypt SSL दोनों box से काम करते हैं।
क्या मैं बिना coding के अपने fields जोड़ सकता हूँ?
हाँ। Admin → Custom Fields से आप असीमित attributes (text, number, date, select, textarea, file, checkbox) जोड़ सकते हैं, उन्हें विशिष्ट categories तक सीमित कर सकते हैं, required चिह्नित कर सकते हैं, और drag-and-drop से क्रम बदल सकते हैं — सब UI से।
AssetHub कितनी भाषाएँ समर्थित करता है?
11 locales तैयार: English, Vietnamese, Spanish, French, German, Chinese, Japanese, Portuguese (BR), Russian, Arabic (पूर्ण RTL समर्थन), और Hindi (हिन्दी)। व्यवस्थापक Administration → Translations से अनुवाद प्रबंधित करते हैं (manage translations अनुमति आवश्यक)।
क्या मैं AssetHub को cPanel shared hosting पर इंस्टॉल कर सकता हूँ?
हाँ — AssetHub PHP 8.2+, MySQL और Cron Jobs के साथ किसी भी मानक cPanel shared hosting प्लान पर काम करता है। Server पर Composer या Node.js की ज़रूरत नहीं — पैकेज pre-built ship होता है। कई cPanel hosts में web Terminal नहीं होता; यह ठीक है। पूर्ण चरण-दर-चरण गाइड के लिए cPanel सेटअप अनुभाग देखें (Terminal के बिना APP_KEY जनरेट करने का तरीका सहित)।
AssetHub को कैसे rebrand करें (login page, page title और colors)?
AssetHub को admin panel से पूरी तरह rebrand किया जा सकता है — बिना code edit या npm run build के। v3.1.0 से login logo, footer और badge Settings → Branding → App Name से जुड़े हैं। v4.0 runtime browser page title और Appearance tab (light/dark app-wide colors) जोड़ता है।
auth.login_subtitle संपादित करें → Settings → Appearance में colors कस्टमाइज़ करें।
Quick reference:
| Item | Example | How to change |
|---|---|---|
| Top-left logo & wordmark | VimoticFAR | Settings → Branding → App Name |
| Login subtitle | Enter your credentials to access AssetHub | Administration → Translations → auth.login_subtitle |
| Footer copyright | © 2026 VimoticFAR | Settings → Branding → App Name |
| Right panel badge | VIMOTICFAR | Settings → Branding → App Name |
| Browser page title (tab) | YourAppName | Settings → Branding → App Name (v4.0+) |
| App colors (buttons, sidebar, badges…) | Custom green / blue palette | Settings → Appearance (v4.0+) |
1. Logo and wordmark:
- Sign in as an administrator.
- Go to Settings → Branding.
- Update App Name (and optionally upload a logo).
- Save.
This name appears on the login page (logo, footer, badge), in the sidebar, and — since v4.0 — in the browser tab title on every page.
2. Browser page title (v4.0):
The text shown in the browser tab follows Settings → Branding → App Name at runtime. Change App Name, save, and refresh — no .env edit or rebuild needed. The title updates on the login screen and after sign-in.
3. Login subtitle: the line below the main heading uses the translation key auth.login_subtitle (not App Name).
- In the app (recommended): Administration → Translations → select language → group auth → key
login_subtitle→ replaceAssetHubwith your app name → Save. Repeat for each language. - In code: edit
lang/{locale}/auth.php— e.g.'login_subtitle' => 'Enter your credentials to access YourAppName',
4. Footer and right-panel badge: since v3.1.0, the footer (© {year} …) and the uppercase badge on the right column use the same App Name as the logo. Change it once under Settings → Branding and refresh the login page.
5. App colors — Appearance (v4.0):
The Appearance tab lets you change the color scheme for the entire application — buttons, sidebar highlights, badges, links, and themed text — separately for light and dark mode. Colors are saved to the database.
- Open: Sidebar → Settings → Appearance (requires manage settings permission).
- Color groups: Brand & Accent (primary UI), Success / Warning / Danger / Info (status badges), Primary / Secondary / Muted / Link (text).
- Light & dark: use the Editing: Light / Dark toggle — configure both if your team uses dark mode. Live Preview on the right.
- Save: click Save appearance to apply app-wide. Reset to defaults restores AssetHub's built-in palette (save afterward to persist).
Branding vs Appearance: Branding = app name, logo, page title. Appearance = colors only. For a complete visual rebrand, update both tabs.
Notes:
- Changing App Name does not update translation strings — edit
auth.login_subtitle(and otherauth.*keys) per language. - Translation overrides in Administration → Translations are stored in the database and survive app updates.
- The login page right column (headline, features) uses other
auth.*keys — edit them under the same auth group if needed. - If colors do not update after saving Appearance, hard-refresh (Ctrl+F5) and confirm you are editing the correct light/dark palette.
- After upgrading from an older package, upload the full current
source/files (including pre-builtpublic/build/) if branding features are missing.
अवलोकन
AssetHub Laravel 11, Vue 3 और Tailwind CSS पर बना एक संपूर्ण संपत्ति प्रबंधन प्रणाली है। संस्करण 3.0 v2 बैच/लॉट ट्रैकिंग, आवंटन, निपटान और सार्वजनिक QR हैंडओवर पृष्ठों के ऊपर पूर्ण Translation Editor, कस्टम locales, CSV आयात/निर्यात और प्रभावी timezone/मुद्रा स्थानीयकरण जोड़ता है।
QR Code ट्रैकिंग
हर संपत्ति के लिए स्वतः QR codes जनरेट करें। किसी भी ब्राउज़र कैमरे से स्कैन करें।
मूल्यह्रास
3 विधियाँ: सीधी रेखा, घटता शेष, उत्पादन इकाइयाँ।
कस्टम फ़ील्ड
असीमित कस्टम विशेषताएँ जोड़ें — text, date, select, file, checkbox।
वेबहुक
HMAC signing और auto-retry के साथ 15 event types।
ऑडिट लॉग
पूर्ण diff viewer के साथ हर बदलाव लॉग किया जाता है।
रिपोर्ट
charts, Excel और PDF निर्यात के साथ 12 रिपोर्ट।
सर्वर आवश्यकताएँ
- PHP 8.2 या उससे ऊपर
- MySQL 5.7+ या MariaDB 10.3+
- Composer 2.x
- Node.js 18+ और npm 9+
- Web server: Apache या Nginx
आवश्यक PHP Extensions
- OpenSSL, PDO, PDO_MySQL, Mbstring, Tokenizer, XML, Ctype, JSON, GD, Fileinfo
डिस्क स्थान
~ 200 MB न्यूनतम। Asset photos और document attachments के लिए अतिरिक्त जगह रखें।
इंस्टॉलेशन
विकल्प A — Web Installer (अनुशंसित)
- प्रोजेक्ट फ़ाइलें अपने web server पर अपलोड करें।
- अपने domain document root को
public/पर इंगित करें। - अनुमतियाँ सेट करें:
storage/औरbootstrap/cache/writable होने चाहिए (chmod 775)। .env.exampleको.envमें कॉपी करें औरAPP_KEYसेट करें (यदि SSH/Terminal है तोphp artisan key:generateचलाएँ, या File Manager विकल्पों के लिए cPanel सेटअप → चरण 5 देखें)।- ब्राउज़र में
https://yourdomain.com/installखोलें। - wizard का पालन करें — Requirements → Database → Migrate → Admin Account → Done।
विकल्प B — CLI Installation
# 1. Dependencies इंस्टॉल करें
composer install --no-dev --optimize-autoloader
npm install
npm run build
# 2. Environment कॉन्फ़िगर करें
cp .env.example .env
php artisan key:generate
# 3. DB credentials सेट करने के लिए .env संपादित करें
# DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD
# 4. Database tables बनाएँ और initial data seed करें
php artisan migrate --seed
# 5. uploads के लिए storage symlink बनाएँ
php artisan storage:link
# 6. production के लिए config cache करें
php artisan config:cache
php artisan route:cache
php artisan view:cache
# 7. installed के रूप में चिह्नित करें
echo "Installed" > storage/installed.lock
public/ directory पर इंगित होना चाहिए। Apache के लिए, शामिल .htaccess URL rewriting संभालता है। Nginx के लिए Laravel deployment guide देखें।
विज़ार्ड Step 2 — Database Configuration
जब wizard Step 2 पर पहुँचता है, तो hosting panel में बनाए गए database के लिए MySQL connection विवरण दर्ज करें। database पहले से मौजूद होना चाहिए (खाली हो सकता है — अगला wizard step tables बनाएगा)।
| फ़ील्ड | डिफ़ॉल्ट / उदाहरण | नोट्स |
|---|---|---|
| Host | 127.0.0.1 | 99% shared hosts (Hostinger, cPanel, Plesk) पर काम करता है। जब तक hosting custom MySQL hostname न दे (AWS RDS, DigitalOcean Managed Database जैसी managed DB services), default रखें। |
| Port | 3306 | मानक MySQL port। केवल तभी बदलें जब provider non-standard port उपयोग करता हो (दुर्लभ)। |
| डेटाबेस नाम | uXXXXXX_assethub | hosting panel में दिखाया गया पूरा नाम। अधिकांश shared hosts user ID prefix जोड़ते हैं (उदा. Hostinger: u287094729_assethub)। |
| उपयोगकर्ता नाम | uXXXXXX_assethub | ऊपर database पर अनुमतियों वाला MySQL user। root का उपयोग न करें — shared hosts इसकी अनुमति नहीं देते। |
| पासवर्ड | (आपका DB password) | MySQL user बनाते समय सेट या कॉपी किया गया password। अधिकांश hosts creation पर एक बार दिखाते हैं — यदि सहेजा नहीं तो "View / Reset" उपयोग करें। |
hosting panel के अनुसार credentials कहाँ मिलें
- Hostinger: hPanel → Databases → Management → अपना database क्लिक करें। पृष्ठ name, username और "Show password" बटन दिखाता है।
- cPanel: cPanel → MySQL Databases। database सूची नाम दिखाती है; users नीचे सूचीबद्ध हैं। ज़रूरत हो तो "Change Password" उपयोग करें।
- Plesk: Plesk → Databases → database name क्लिक करें। detail page credentials दिखाता है और password reset देता है।
- DirectAdmin: DirectAdmin → MySQL Management → database क्लिक करें। credentials और password reset database detail page पर हैं।
- बाह्य / managed DB: AWS RDS, DigitalOcean Managed Database, आदि। cloud console से custom hostname, port (अक्सर
3306लेकिन verify करें), DB name, user और password उपयोग करें। सुनिश्चित करें कि server IP DB firewall में whitelisted है।
सामान्य errors और उनका समाधान
| त्रुटि संदेश | कारण और समाधान |
|---|---|
SQLSTATE[HY000] [1045] Access denied | गलत username या password, या user को इस database तक access नहीं। spelling दोबारा जाँचें (shared hosts पर user prefix सहित)। अनिश्चित होने पर hosting panel में password reset करें। |
SQLSTATE[HY000] [1049] Unknown database | database name गलत है, या आपने hosting panel में database अभी नहीं बनाया। पहले बनाएँ, फिर exact name (prefix सहित) दोबारा दर्ज करें। |
SQLSTATE[HY000] [2002] Connection refused | MySQL server तक पहुँच नहीं। Host और Port verify करें। shared hosts पर 127.0.0.1 के बजाय localhost या इसके विपरीत आज़माएँ। managed DBs के लिए server IP whitelisted होना चाहिए। |
SQLSTATE[42S02] Base table not found: sessions | तब होता है जब tables बनने से पहले .env में SESSION_DRIVER=database या CACHE_STORE=database सेट हो। .env संपादित करें और दोनों को file में बदलें, save करें, फिर wizard reload करें। install के बाद चाहें तो database पर वापस जा सकते हैं। |
could not find driver | PHP pdo_mysql extension missing या disabled है। इसे अपने hosting panel में enable करें (PHP Configuration → Extensions)। cPanel पर: MultiPHP INI Editor → Extensions या Select PHP Version → Extensions। Hostinger पर: hPanel → Advanced → PHP Configuration → PHP Extensions tab। |
127.0.0.1 और 3306) से पहले से भरे हैं — shared hosting पर उन्हें वैसे ही छोड़ें। केवल Database name, Username और Password टाइप करें। connection verify करने और Step 3 पर जाने के लिए Test & Save → क्लिक करें।
Localhost (स्थानीय विकास)
production में deploy करने से पहले परीक्षण या विकास के लिए अपने कंप्यूटर पर AssetHub चलाने की त्वरित गाइड। अपने operating system से मेल खाता environment चुनें।
विकल्प 1 — Laravel Herd (अनुशंसित, macOS और Windows)
Laravel Herd Laravel टीम का official local environment है — मुफ़्त, native, Docker नहीं। PHP 8.2/8.3/8.4, Nginx और (Herd Pro में) MySQL/Redis शामिल।
- herd.laravel.com से Laravel Herd डाउनलोड और इंस्टॉल करें।
- AssetHub project folder
~/Herd/(macOS) या%USERPROFILE%\Herd\(Windows) में रखें। Herd स्वतः.testdomain बनाता है — उदा.http://assethub.test। - Herd → Sites खोलें और PHP version 8.2 या 8.3 होना सुनिश्चित करें। site पर right-click → Secure से HTTPS enable करें (QR scanner के लिए ज़रूरी)।
- MySQL database बनाएँ। Herd Pro के साथ Services → MySQL → Open in TablePlus उपयोग करें। अन्यथा MySQL Community इंस्टॉल करें या SQLite उपयोग करें (
DB_CONNECTION=sqlite,touch database/database.sqlite)। .env.exampleको.envमें कॉपी करें, DB credentials भरें, फिर project root सेphp artisan key:generateचलाएँ।- ब्राउज़र में
http://assethub.test/installखोलें और installer wizard का पालन करें।
विकल्प 2 — XAMPP (Windows, macOS, Linux)
XAMPP Apache, MySQL/MariaDB और PHP को bundle करता है। मुफ़्त और cross-platform। PHP 8.2 या नया वाला version चुनें।
- apachefriends.org से XAMPP 8.2+ डाउनलोड करें और इंस्टॉल करें।
- AssetHub project को
C:\xampp\htdocs\AssetHub\(Windows) या/Applications/XAMPP/htdocs/AssetHub/(macOS) में कॉपी करें। - XAMPP Control Panel खोलें और Apache तथा MySQL start करें। ports busy हों तो Apache को 8080 पर switch करने के लिए Config → service.conf उपयोग करें।
http://localhost/phpmyadminपर जाएँ → New → utf8mb4 collation के साथassethubनाम का database बनाएँ।- project folder में:
.env.exampleको.envमें कॉपी करें,DB_DATABASE=assethub,DB_USERNAME=rootसेट करें,DB_PASSWORDखाली छोड़ें (XAMPP default)।php artisan key:generateचलाएँ। - installer wizard चलाने के लिए
http://localhost/AssetHub/public/installखोलें।
/public/ के बिना Pretty URLs: C:\xampp\apache\conf\extra\httpd-vhosts.conf में virtual host बनाएँ जो DocumentRoot को project के public/ folder पर इंगित करे, फिर hosts file में 127.0.0.1 assethub.local जोड़ें।
विकल्प 3 — Laragon (Windows)
Laragon Laravel के लिए portable Windows stack है — auto vhosts, pretty URLs, MySQL/MariaDB और bundled HeidiSQL।
- laragon.org से Laragon Full डाउनलोड करें और इंस्टॉल करें।
- Laragon में: Menu → PHP → Version — PHP 8.2 या 8.3 पर switch करें।
- AssetHub project को
C:\laragon\www\AssetHub\में कॉपी करें। - Start All क्लिक करें। Laragon स्वतः vhost बनाता है:
http://assethub.test(public/folder पर इंगित)। - bundled HeidiSQL खोलें →
assethubdatabase बनाएँ। default credentials: userroot, password खाली। - DB credentials के साथ
.envसंपादित करें,php artisan key:generateचलाएँ, फिरhttp://assethub.test/installखोलें।
विकल्प 4 — Built-in PHP server (web server की ज़रूरत नहीं)
सबसे सरल विकल्प: Laravel artisan serve के साथ development PHP server शुरू करता है। Apache या Nginx की ज़रूरत नहीं। त्वरित परीक्षण के लिए सर्वोत्तम।
# Dependencies इंस्टॉल करें और configure करें
cd /path/to/AssetHub
composer install
cp .env.example .env
php artisan key:generate
# migrations चलाएँ और initial data seed करें
php artisan migrate --seed
# development server शुरू करें
php artisan serve
# फिर खोलें: http://127.0.0.1:8000/install
सामान्य localhost gotchas
http:// पर QR scanner कैमरा नहीं खुलता
ब्राउज़र camera APIs के लिए HTTPS चाहिए, एक अपवाद: http://localhost और http://127.0.0.1 secure contexts माने जाते हैं। यदि आप LAN IP (उदा. http://192.168.1.10) से AssetHub खोलते हैं, कैमरा मना कर देगा। dev के लिए localhost उपयोग करें, या Herd / mkcert से HTTPS enable करें।
storage पर Permission denied (macOS / Linux)
यदि app log या cache लिखते समय write errors दिखें, अनुमतियाँ ठीक करें: chmod -R 775 storage bootstrap/cache। Windows पर आमतौर पर ज़रूरत नहीं।
Port पहले से उपयोग में
यदि port 8000 किसी अन्य app द्वारा लिया गया है, दूसरा port उपयोग करें:
php artisan serve --port=8001
स्थानीय रूप से ईमेल परीक्षण
अधिकांश localhost setups पर real SMTP उपलब्ध नहीं। दो सुरक्षित विकल्प: (1) .env में MAIL_MAILER=log सेट करें — ईमेल भेजने के बजाय storage/logs/laravel.log में dump होते हैं; या (2) Mailtrap / MailHog से outgoing mail fake inbox में capture करें।
MAIL_MAILER=log
# सभी ईमेल storage/logs/laravel.log में लिखे जाते हैं
Frontend assets (Vite / Tailwind)
AssetHub का Vue/Tailwind frontend पैकेज में pre-built है। यदि आप Vue components या Tailwind config संपादित करते हैं तो Node.js 18+ चाहिए:
npm install
npm run dev # development के दौरान hot-reload
npm run build # production build (deploy से पहले चलाएँ)
Hostinger Single (Shared Hosting) पर Deploy
यह VPS या तकनीकी अनुभव के बिना उपयोगकर्ताओं के लिए अनुशंसित मार्ग है। AssetHub सबसे सस्ते Hostinger Single Web Hosting प्लान (~$2.99/माह) के साथ पूर्णतः संगत है। SSH, Composer, command line की ज़रूरत नहीं — Single में native cron jobs, PHP 8.3 और मुफ़्त SSL शामिल हैं।
Step 1 — अपनी hosting तैयार करें
- Hostinger hPanel में login करें।
- अपने domain के लिए Hosting → Manage पर जाएँ।
- Advanced → PHP Configuration से PHP version 8.2 या 8.3 पर सेट करें।
- ये PHP extensions enabled हों (आमतौर पर default):
- OpenSSL, PDO, PDO_MySQL, Mbstring, GD, Tokenizer, XML, Ctype, JSON, Fileinfo
Step 2 — MySQL database बनाएँ
- hPanel में Databases → MySQL Databases पर जाएँ।
- Create New Database क्लिक करें।
- ये 3 मान नोट करें:
डेटाबेस नाम— उदा.u123_AssetHubउपयोगकर्ता नाम— उदा.u123_adminपासवर्ड— auto-generated, सुरक्षित रखें
Step 3 — फ़ाइलें अपलोड करें
- hPanel में Files → File Manager पर जाएँ।
public_html/पर जाएँ (यह आपके domain का root है)।- उस folder में कोई default
index.htmlयाdefault.phpहटाएँ। - Upload Files क्लिक करें और पैकेज की पूरी
source.zipअपलोड करें।
या चाहें तो/source/folder की सामग्री सीधे FTP से अपलोड करें। - यदि ZIP अपलोड किया, right-click → Extract। extraction के बाद सभी फ़ाइलें
public_html/के root पर होनी चाहिए। - verify करें
public_html/में शामिल हैं:app/,public/,vendor/,.htaccess,index.php(public/में),.env, आदि।
public_html/ root पर .htaccess फ़ाइल मौजूद है। इसमें URL rewriting rules हैं। यदि File Manager hidden files छुपाता है, Settings → Show hidden files क्लिक करें।
Step 4 — installer चलाएँ
- ब्राउज़र खोलें और
https://yourdomain.com/installपर जाएँ। - आपको AssetHub Installer दिखेगा।
- Step 1: Requirements — सभी checks pass होने चाहिए (हरा)। कोई fail हो तो missing PHP extension enable करने के लिए Hostinger support से संपर्क करें।
- Step 2: Database — ऊपर Step 2 के credentials दर्ज करें:
- Host:
localhost - Port:
3306 - Database:
u123_AssetHub - Username:
u123_admin - Password: (Hostinger द्वारा generated)
- Host:
- Step 3: Migrate — "Run Migrations & Seed" क्लिक करें। ~10 सेकंड लगते हैं। refresh न करें।
- Step 4: Admin — administrator account बनाएँ। मज़बूत password उपयोग करें।
- हो गया! — Cron URL दिखेगा (सहेजें!) और login बटन।
Step 5 — Hostinger Cron से स्वचालित ईमेल अलर्ट सेटअप
AssetHub background tasks के लिए Laravel scheduler उपयोग करता है: warranty alerts, maintenance reminders, document expiry, depreciation refresh और overdue checkouts। hPanel में एक cron job सेटअप करें और Laravel तय करता है कब कौन-सा task चलाना है।
- hPanel में Advanced → Cron Jobs पर जाएँ।
- Create Cron job क्लिक करें।
- type चुनें: Custom ("PHP" नहीं — argument pass करना है)।
- command में दर्ज करें (
uXXXXXXको अपने Hostinger account username से बदलें):
Tip: File Manager खोलें,/usr/bin/php /home/uXXXXXX/public_html/artisan schedule:runartisanफ़ाइल (project root) ढूँढें, right-click → Properties से full path कॉपी करें। - schedule Every minute पर सेट करें — सभी पाँच fields (Minute, Hour, Day, Month, Day of week)
*पर। - Save क्लिक करें।
बस — AssetHub अब overdue checkout reminders, maintenance alerts, document expiry alerts, warranty alerts भेजता है और asset depreciation मूल्य स्वतः refresh करता है। Laravel आंतरिक रूप से प्रत्येक job को सही frequency पर schedule करता है (दैनिक 08:00, मासिक, आदि)।
public_html/public/ पर सेट? कोई समस्या नहीं — Laravel code अभी भी public_html/ root पर है, इसलिए cron path /home/uXXXX/public_html/artisan रहता है (/public/ न जोड़ें)।
- admin के रूप में login → Settings → System tab → अपना Cron URL कॉपी करें।
- cron-job.org पर मुफ़्त sign up करें।
- cronjob बनाएँ, URL paste करें, Every 15 minutes सेट करें, save करें।
Step 6 — ईमेल (SMTP) कॉन्फ़िगर करें
Hostinger हर प्लान के साथ email accounts देता है। AssetHub notifications के लिए उपयोग करने हेतु:
- hPanel में Emails → Email Accounts पर जाएँ और एक बनाएँ (उदा.
noreply@yourdomain.com)। - File Manager से
public_html/में.envफ़ाइल संपादित करें:MAIL_MAILER=smtp MAIL_HOST=smtp.hostinger.com MAIL_PORT=587 MAIL_USERNAME=noreply@yourdomain.com MAIL_PASSWORD=your_email_password MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=noreply@yourdomain.com MAIL_FROM_NAME="Your Company Name" - फ़ाइल save करें।
- AssetHub में login → Settings → Email tab → Send Test Email। यदि प्राप्त हो, हो गया।
Hostinger Single पर सामान्य समस्याएँ
अपलोड के बाद "500 Internal Server Error"
- verify करें
public_html/root पर.htaccessमौजूद है और rewrite rules शामिल हैं। - verify करें hPanel में PHP version 8.2 या 8.3 सेट है।
- वास्तविक error के लिए File Manager से
storage/logs/laravel.logदेखें।
uploads पर "Permission denied"
Hostinger आमतौर पर सही अनुमतियाँ सेट करता है, लेकिन यदि नहीं:
- File Manager में
storage/पर right-click → Permissions → recursively755सेट करें। - वही
bootstrap/cache/के लिए।
QR code scanner कैमरा नहीं खोलता
ब्राउज़र camera APIs के लिए HTTPS चाहिए। Hostinger Let's Encrypt से मुफ़्त SSL देता है — hPanel में SSL → Manage के तहत enable करें।
निर्धारित ईमेल नहीं भेजे जा रहे
- hPanel → Cron Jobs → अपने cron entry पर Last run column देखें। खाली हो तो cron fire नहीं हो रहा — artisan path verify करें।
- command manually test करें: hPanel में Terminal (यदि उपलब्ध) खोलें और cron command चलाएँ। error हो तो संदेश समस्या बताएगा (गलत PHP version, गलत path, आदि)।
- verify करें SMTP सही कॉन्फ़िगर है (Settings → Email → Send Test)।
- scheduler errors के लिए
storage/logs/laravel.logदेखें।
धीमा प्रदर्शन
Hostinger Single में shared CPU/RAM है। यदि टीम 20 से अधिक users की है, विचार करें:
- Premium (~$3.99/माह) पर upgrade — तेज़ servers, अधिक resources, multiple databases।
- या Business (~$5.99/माह) — dedicated resources, daily backups, staging environment।
cPanel पर Deploy (Shared Hosting)
यह गाइड मानक cPanel shared hosting (Namecheap, Bluehost, GoDaddy और अधिकांश budget hosts) को cover करती है। AssetHub vendor/ और pre-built frontend assets के साथ ship होता है — Composer, npm या web Terminal की ज़रूरत नहीं। यदि आपके cPanel में Terminal नहीं है, तो SSH Access या नीचे File Manager workarounds उपयोग करें।
/home/CPANELUSER/ है — cPanel में General Information के तहत sidebar देखें।
चरण 1 — PHP version और extensions सेट करें
- cPanel में login करें।
- MultiPHP Manager (या Select PHP Version) खोलें और अपना domain PHP 8.2 या 8.3 पर सेट करें।
- MultiPHP INI Editor या PHP Extensions खोलें और confirm करें ये enabled हैं:
- OpenSSL, PDO, PDO_MySQL, Mbstring, GD, Tokenizer, XML, Ctype, JSON, Fileinfo
- यदि कोई extension missing हो, तो extensions list में enable करें या host support से संपर्क करें।
चरण 2 — SSL (HTTPS) enable करें
- SSL/TLS Status (या Let's Encrypt SSL / AutoSSL) पर जाएँ।
- अपने domain के लिए AutoSSL चलाएँ या free certificate इंस्टॉल करें।
- in-browser QR scanner को camera access के लिए HTTPS आवश्यक है।
https://yourdomain.com जाएँ।
चरण 3 — MySQL database और user बनाएँ
- Manage My Databases (Databases के अंतर्गत) खोलें।
- Create New Database में, एक नाम दर्ज करें (उदा.
assethub) और Create क्लिक करें। cPanel आपके account prefix स्वतः जोड़ता है — पूरा नामcpaneluser_assethubजैसा दिखेगा। - MySQL Users में, strong password के साथ user बनाएँ। prefix सहित पूरा username कॉपी करें।
- Add User To Database में, user और database चुनें, Add क्लिक करें, फिर ALL PRIVILEGES दें। यह चरण छूटना आसान है — इसके बिना
Access denied (1045)errors आएंगी। - ये तीन values cPanel में जैसे दिखें ठीक वैसे नोट करें:
डेटाबेस नाम— उदा.u123_AssetHubउपयोगकर्ता नाम— उदा.u123_adminपासवर्ड— auto-generated, सुरक्षित रखें
चरण 4 — Files upload करें
- File Manager खोलें और
public_html/(अपने domain का document root) पर जाएँ। - Settings → Show Hidden Files enable करें ताकि
.htaccessऔर.envदिख सकें। - यदि मौजूद हो तो
public_html/में कोई defaultindex.htmlहटाएँ। - पैकेज
source.zipupload करें और Extract करें, या/source/folder की सामग्री FTP से upload करें। - extraction के बाद,
public_html/मेंapp/,public/,vendor/, root.htaccessऔरartisanएक ही level पर होने चाहिए।
.htaccess सभी requests को public/ folder में redirect करता है — अधिकांश hosts पर document root manually बदलने की ज़रूरत नहीं।
चरण 5 — installer चलाने से पहले .env तैयार करें
/install visit करने से पहले यह चरण पूरा करें। Laravel को .env में valid APP_KEY और सही database settings चाहिए।
- File Manager में,
.env.exampleको.envमें कॉपी करें (artisanके साथ एक folder में)। .envसंपादित करें और कम से कम ये सेट करें:APP_NAME=AssetHub APP_ENV=production APP_DEBUG=false APP_URL=https://yourdomain.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=cpaneluser_assethub DB_USERNAME=cpaneluser_admin DB_PASSWORD="your_password" SESSION_DRIVER=file CACHE_STORE=fileDB_CONNECTION=mysqlसेट करें — default.env.exampleSQLite उपयोग करता है; shared hosting के लिए MySQL चाहिए।- पहले migration से पहले
SESSION_DRIVER=fileऔरCACHE_STORE=fileसेट करें ("sessions table not found" errors से बचाव)। - यदि special characters (
#,$,!, आदि) हों तोDB_PASSWORDको double quotes में लपेटें।
APP_KEY जनरेट करें (Terminal की ज़रूरत नहीं)
कई cPanel plans में web Terminal नहीं होता। इनमें से एक method उपयोग करें:
- SSH Access (cPanel → Security → SSH Access): PuTTY या PowerShell से connect करें, फिर
cd ~/public_html && php artisan key:generateचलाएँ। - File Manager helper —
public/genkey.phptemporarily बनाएँ, browser में visit करें, output कोAPP_KEY=में कॉपी करें, फिर तुरंत file हटाएँ।<?php echo 'base64:' . base64_encode(random_bytes(32)); - अपने PC पर — यदि PHP locally installed है,
php -r "echo 'base64:'.base64_encode(random_bytes(32));"चलाएँ और result.envमें paste करें।
genkey.php हटाएँ। production server पर helper scripts कभी न छोड़ें।
- यदि installer write errors report करे तो
storage/औरbootstrap/cache/की permissions 755 (recursive) पर सेट करें।
चरण 6 — web installer चलाएँ
- browser में
https://yourdomain.com/installखोलें। - चरण 1: Requirements — सभी checks pass होने चाहिए (हरा)। ऊपर चरण 1 में missing PHP extensions ठीक करें।
- चरण 2: Database — चरण 3 के exact prefixed names दर्ज करें:
- Host:
127.0.0.1orlocalhost - Port:
3306 - Database:
cpaneluser_assethub - Username:
cpaneluser_admin - Password: (your MySQL password)
- Host:
- चरण 3: Migrate — "Run Migrations & Seed" क्लिक करें। ~10 seconds लगते हैं। page refresh न करें।
- clean production install के लिए Include demo data uncheck करें।
- चरण 4: Admin — अपना administrator account बनाएँ।
- हो गया! — final screen पर दिखाई गई Cron URL सहेजें।
चरण 7 — email alerts के लिए Cron Jobs सेटअप करें
AssetHub को हर मिनट एक cron job चाहिए ताकि Laravel warranty alerts, maintenance reminders और अन्य scheduled emails भेज सके।
- cPanel में Advanced → Cron Jobs पर जाएँ।
- Add New Cron Job में, schedule Every minute (
* * * * *) पर सेट करें। - command दर्ज करें (
CPANELUSERको General Information से अपने cPanel username से बदलें):
Tip: PHP path/usr/local/bin/php /home/CPANELUSER/public_html/artisan schedule:run/usr/local/bin/phpया/usr/bin/phpहो सकता है — अनिश्चित हों तो host से पूछें। artisan path वह है जहाँ आपने project upload किया (आमतौर पर/home/CPANELUSER/public_html/artisan)। - save करने के लिए Add New Cron Job क्लिक करें।
public_html/public/ पर सेट? Cron अभी भी /home/CPANELUSER/public_html/artisan पर इंगित करता है — /public/ न जोड़ें।
- admin के रूप में login → Settings → System → Cron URL कॉपी करें।
- cron-job.org पर register करें (मुफ़्त)।
- वह URL हर 15 मिनट पर hit करने वाली job बनाएँ।
चरण 8 — email (SMTP) कॉन्फ़िगर करें
outgoing notifications के लिए cPanel email account बनाएँ:
- Email Accounts पर जाएँ → उदा.
noreply@yourdomain.comबनाएँ। - File Manager में
.envसंपादित करें:MAIL_MAILER=smtp MAIL_HOST=mail.yourdomain.com MAIL_PORT=587 MAIL_USERNAME=noreply@yourdomain.com MAIL_PASSWORD=your_email_password MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=noreply@yourdomain.com MAIL_FROM_NAME="Your Company Name" - Save करें, फिर AssetHub में: Settings → Email → Send Test Email।
cPanel पर सामान्य समस्याएँ
"Access denied for user" (SQLSTATE 1045)
- database name और username cPanel से बिल्कुल सही कॉपी करें — account prefix सहित।
- Confirm करें कि ALL PRIVILEGES के साथ Add User To Database पूरा किया।
- cPanel में MySQL password reset करें और
.envupdate करें — special characters हों तोDB_PASSWORDके चारों ओर quotes उपयोग करें।
Database step pass होने के बाद Migration fail
- wizard form के credentials test करता है, लेकिन Migrate
.envसे पढ़ता है। सुनिश्चित करें दोनों match करते हैं। - यदि मौजूद हो तो
bootstrap/cache/config.phpहटाएँ, फिर retry करें। - सुनिश्चित करें
DB_CONNECTION=mysql.envमें सेट है (sqlite नहीं)।
migration के दौरान "Invalid default value" (1067)
AssetHub v2.1.0+ में ठीक किया गया (checkouts table dateTime columns उपयोग करता है)। यदि पुरानी copy है, migration file update करें या CodeCanyon से latest package डाउनलोड करें।
upload के बाद "500 Internal Server Error"
- verify करें root
.htaccessमौजूद है और PHP 8.2+ है। - वास्तविक error के लिए
storage/logs/laravel.logदेखें। - Confirm करें
APP_KEY.envमें सेट है — empty key 500 errors का कारण बनती है।
cPanel में Terminal नहीं
कई shared plans पर यह सामान्य है। SSH Access (यदि enabled हो), चरण 5 में temporary genkey.php method, या अपने local PC पर key generate करें।
QR scanner camera नहीं खुलता
SSL/TLS Status → AutoSSL से SSL enable करें और site को https:// से access करें।
कॉन्फ़िगरेशन
.env फ़ाइल
| कुंजी | विवरण | उदाहरण |
|---|---|---|
APP_NAME | title bar में दिखाया गया एप्लिकेशन नाम | AssetHub |
APP_URL | आपकी installation का सार्वजनिक URL | https://assets.example.com |
APP_DEBUG | production में false सेट करें | false |
DB_* | Database कनेक्शन विवरण | mysql, 127.0.0.1, 3306, ... |
MAIL_MAILER | Mail driver | smtp, log, mailgun |
MAIL_HOST | SMTP server होस्टनाम | smtp.gmail.com |
MAIL_PORT | SMTP port नंबर | 587 |
MAIL_USERNAME | SMTP उपयोगकर्ता नाम | your@email.com |
MAIL_PASSWORD | SMTP password या app token | ********** |
MAIL_FROM_ADDRESS | डिफ़ॉल्ट From पता | noreply@example.com |
इन-ऐप सेटिंग्स
अधिकांश non-sensitive विकल्प Admin → Settings से कॉन्फ़िगर करने योग्य:
- सामान्य: company name/email/phone, asset tag prefix
- ईमेल: SMTP verify करने के लिए test email भेजें
- सूचनाएँ: warranty alert thresholds, maintenance reminder window
- स्थानीयकरण: timezone (searchable list incl.
Europe/Skopje), date format, currency code (incl.MKD— Macedonian Denar), symbol, and symbol position — save के बाद app-wide लागू - सामान्य → Public Asset Page: QR visibility (public / login / disabled) और URL बदलने के बाद सभी QR codes regenerate करें
- Localization tab पूर्ण Translation Editor के लिए Administration → Translations से लिंक करता है (केवल admin)
- Branding: app name और logo — login logo, footer, badge और browser page title अपडेट करता है (v4.0+)। Login subtitle: Administration → Translations में
auth.login_subtitleसंपादित करें - Appearance (v4.0+): light/dark mode के लिए brand, status और text colors कस्टमाइज़ करें — FAQ में rebrand guide देखें
बहु-भाषा समर्थन
AssetHub 11 भाषाओं के साथ तैयार आता है, जिसमें RTL Arabic और Hindi शामिल हैं। उपयोगकर्ता ऊपर-दाएँ header में flag dropdown से भाषा बदलते हैं।
शिप की गई भाषाएँ
| कोड | भाषा | दिशा |
|---|---|---|
en | English (default) | LTR |
vi | Tiếng Việt | LTR |
es | Español | LTR |
fr | Français | LTR |
de | Deutsch | LTR |
zh | 简体中文 | LTR |
ja | 日本語 | LTR |
pt-BR | Português (Brasil) | LTR |
ru | Русский | LTR |
ar | العربية | RTL |
hi | हिन्दी | LTR |
भाषा कैसे बदलें
- dropdown खोलने के लिए ऊपर-दाएँ header में flag icon क्लिक करें।
- सूची से अपनी भाषा चुनें।
- पृष्ठ reload होता है; सभी UI labels, dates और currency formats बदल जाते हैं।
- आपकी पसंद user account और cookie (1 वर्ष) दोनों में सहेजी जाती है।
/locale/{code} पर POST करता है, जो केवल PHP server चलने पर काम करता है। हमेशा अपने वास्तविक domain (production) या http://localhost:8000 (dev with php artisan serve) से access करें। इसके विपरीत, इस तरह की documentation फ़ाइलें पूर्णतः standalone हैं और सीधे खोली जा सकती हैं।
कस्टम भाषा जोड़ना (admin)
Administration → Translations पर जाएँ (manage translations अनुमति वाले admin users):
- "Add Locale" क्लिक करें — code दें (उदा. Macedonian के लिए
mk), display name, native name, flag SVG filename, direction (LTR/RTL), और base locale जिससे अनुवाद copy करें। - नया locale language switcher और Settings → Localization default-language list में दिखता है।
- DB-stored translations
lang/{code}/में file translations को स्वतः override करती हैं।
Translation Editor
Editor हर translation key को file के अनुसार समूहबद्ध करता है (उदा. assets, nav, settings)। Keys file baseline और कोई DB override दिखाती हैं।
- locale, translation group, या search text से filter करें।
- inline edit के लिए value क्लिक करें; changes तुरंत database में save होते हैं।
- file baseline पर वापस जाने के लिए key reset करें।
- Built-in locales (en, vi, es, …) edit हो सकते हैं; custom locales पूर्णतः DB-driven हैं।
- केवल manage translations अनुमति वाले users इस page तक पहुँच सकते हैं।
CSV import / export
- Export — locale की सभी keys CSV (
group,key,value) के रूप में download करें। - Import — same columns वाला CSV upload करें; existing DB overrides update, new keys insert होती हैं।
प्रति-उपयोगकर्ता default locale
हर user के पास locale column है। Laravel के HasLocalePreference contract के कारण ईमेल notifications स्वतः recipient की पसंदीदा भाषा में भेजे जाते हैं।
Site default language Settings → Localization → Default Language के तहत सेट है। Individual users header language switcher से override करते हैं।
विशेषता सूची
संपत्ति प्रबंधन
- स्वतः-जनरेट asset tags
- प्रति संपत्ति कई images
- QR code जनरेशन
- स्थिति और condition tracking
- बल्क import/export
- संपत्ति क्लोन
- बैच / लॉट quantity tracking (v2)
कार्यप्रवाह
- आवंटन / वापसी / Transfer
- अनुमोदन-आधारित requests
- Check-in / Check-out बुकिंग
- Conflict पहचान
रखरखाव
- निवारक/सुधारात्मक अनुसूची
- कैलेंडर दृश्य
- अगला स्वतः-अनुसूचित
- लागत ट्रैकिंग
- ईमेल अनुस्मारक
दस्तावेज़
- Invoices, manuals संलग्न करें
- इनलाइन preview
- समाप्ति अलर्ट
- कई document types
मूल्यह्रास
- 3 गणना विधियाँ
- मूल्य स्वतः-अपडेट
- अनुसूची chart
- वार्षिक summary
रिपोर्ट
- 12 report प्रकार
- Excel + PDF निर्यात
- Charts और dashboards
- तिथि filters
परिचालन (v2)
- live reconciliation के साथ batch / lot assets
- कर्मचारियों, विभागों, warehouse को allocations
- separation-of-duty approval के साथ disposals
- /a/{tag} पर public QR handover page
स्थानीयकरण और अनुवाद (v3)
- 11 अंतर्निहित UI भाषाएँ + custom locales
- Translation Editor — search, group filter, inline edit के साथ
- bulk translation updates के लिए CSV import/export
- Timezone & currency settings app-wide लागू
ब्रांडिंग और दिखावट (v4)
- ब्राउज़र टैब शीर्षक सेटिंग → ब्रांडिंग → ऐप नाम से अपडेट होता है
- सेटिंग → दिखावट में ऐप रंग अनुकूलित करें (लाइट और डार्क मोड)
उपयोगकर्ता और भूमिकाएँ
AssetHub 5 पूर्व-कॉन्फ़िगर roles के साथ आता है:
| भूमिका | क्षमताएँ |
|---|---|
| Admin | पूर्ण system access — users, departments, settings, audit log, webhooks, translations |
| IT Manager | assets (single + batch/lot), categories, maintenance, requests प्रबंधित करें; transfers approve करें; reports और depreciation देखें |
| लेखाकार | assets और depreciation प्रबंधित करें, inventory audits चलाएँ, transfers और disposals approve करें, पूर्ण reports access (financial focus) |
| Supervisor | department requests approve करें, checkouts प्रबंधित करें, inventory audits में भाग लें, reports देखें |
| कर्मचारी | assigned assets देखें, requests बनाएँ, अपने checkouts प्रबंधित करें |
अनुमतियाँ Spatie roles के रूप में संग्रहीत हैं — administrators database के ज़रिए per-permission fine-tune कर सकते हैं।
संपत्ति प्रबंधन
संपत्तियाँ बनाना
- Assets → New Asset पर जाएँ।
- name, category, brand, model, serial number भरें।
- purchase date और price जोड़ें (depreciation के लिए आवश्यक)।
- images अपलोड करें (multiple files, प्रति फ़ाइल अधिकतम 5 MB)।
- Save — asset tag और QR code स्वतः जनरेट होते हैं।
Asset Tag प्रारूप
Default: {PREFIX}-{YEAR}-{NNNN}, उदा. AS-2026-0001। Settings → General → Asset Tag Prefix से कॉन्फ़िगर करने योग्य।
बल्क इंपोर्ट
- Assets page पर Import क्लिक करें।
- Excel template डाउनलोड करें।
- अपना data भरें — आवश्यक columns:
name,category_name। - फ़ाइल अपलोड करें।
बैच / लॉट संपत्तियाँ (v2)
मात्रा में समान items (chairs, keyboards, uniforms) के लिए duplicate records बनाने के बजाय New Asset form पर Tracking type → Batch / Lot चुनें।
- quantity और unit (piece, set, box) दर्ज करें। save पर stock warehouse pool में रखा जाता है।
- asset खोलें → Allocations tab → employee या department को units Allocate करें।
- Return, Adjust (damaged/lost/repair), या disposition actions उपयोग करें — live summary को total quantity से reconcile होना चाहिए।
- batch assets केवल unit price समर्थित करते हैं; depreciation वैकल्पिक है और तेज़ setup के लिए default off।
php artisan migrate चलाएँ — कोई data loss नहीं।QR कोड्स
हर asset को creation पर स्वतः QR code मिलता है। scanning asset का public या authenticated page खोलता है (नीचे देखें)। in-app scanning asset detail screen पर जाती है।
Labels प्रिंट करना
- Single label: किसी भी asset row पर printer icon क्लिक करें।
- PDF format: A4, प्रति row 2 labels, asset tag, name, brand, serial शामिल।
स्कैनिंग
Assets page पर Scan QR क्लिक करें। camera permission दें। scanner html5-qrcode उपयोग करता है और किसी भी आधुनिक ब्राउज़र पर काम करता है। नोट: camera access के लिए HTTPS या localhost चाहिए।
Public QR हैंडवर Page (v2)
हर asset का printable public URL /a/{asset_tag} पर भी है — login के बिना physical handover के लिए उपयोगी।
- Settings → General → Public Asset Page में कॉन्फ़िगर करें: Public, Login required, या Disabled।
- पृष्ठ photo, key fields और (batches के लिए) quantity breakdown दिखाता है। users इसे handover sheet के रूप में print कर सकते हैं।
APP_URLबदलने के बाद उसी settings panel में Regenerate all QR codes क्लिक करें।
कार्यप्रवाह
संपत्ति आवंटन
- asset detail page खोलें।
- Assign क्लिक करें (asset available हो तो दिखेगा)।
- user चुनें, वैकल्पिक return date, notes।
- Submit — transaction बनता है और email notification भेजा जाता है।
संपत्ति अनुरोध
employees जरूरत के assets के लिए requests submit कर सकते हैं। requests के 4 statuses: pending → approved → fulfilled, या rejected। approval emails स्वतः भेजे जाते हैं।
Check-in / Check-out
shared assets (cameras, projectors, vehicles) के लिए। bookings में date ranges; system overlapping checkouts रोकता है। calendar view सभी bookings एक नज़र में दिखाता है।
निपटान — Formal Write-off (v2)
घिसे या क्षतिग्रस्त items documented batches में separation of duty (proposer ≠ approver) के साथ write-off होते हैं। manage disposals और approve disposals अनुमतियाँ चाहिए।
- Sidebar → Disposals → New Disposal। title और period (Q1–Q4, yearly, या ad-hoc) सेट करें।
- draft खोलें → Add items — eligible damaged batch units या Poor condition में single assets।
- Submit for approval क्लिक करें — batch lock हो जाता है।
- दूसरा approver Approve & execute क्लिक करता है — assets/units disposed चिह्नित होते हैं।
- compliance records के लिए disposal minutes (PDF) print करें।
मूल्यह्रास
AssetHub तीन विधियों में से एक से संपत्ति मूल्यह्रास की गणना करता है:
| विधि | सूत्र | उपयोग मामला |
|---|---|---|
| सीधी रेखा | (Cost - Salvage) / Useful Life | सबसे सामान्य; समान वार्षिक मूल्यह्रास |
| घटता शेष | 2 / Useful Life × Book Value | त्वरित; कर उद्देश्य |
| उत्पादन इकाइयाँ | उपयोग पर आधारित | विनिर्माण उपकरण |
defaults संपत्ति की category से inherit होते हैं। schedule entries मासिक जनरेट होती हैं। asset का current_value हर महीने की 1 तारीख को auto-update होता है।
कस्टम फ़ील्ड
Admin → Custom Fields से assets पर असीमित custom attributes जोड़ सकते हैं:
- प्रकार: text, number, date, select (dropdown), textarea, file, checkbox
- Scope: सभी categories या विशिष्ट category पर लागू
- Reorder: grip handle से drag-and-drop
- required fields asset save पर validate होते हैं
रिपोर्ट
Reports menu से सुलभ बारह अंतर्निहित reports:
- Asset Summary — status, condition, category, department के अनुसार totals
- Depreciation — प्रति category value loss, top depreciated assets
- Transactions — समय के साथ assignment, return, transfer activity
- Maintenance Cost — month, category, type के अनुसार spending
- Warranty Expiry — 30/60/180 दिनों में ध्यान देने योग्य assets
- Department Assets — department के अनुसार asset distribution और budget utilization
- Assets by Source — procurement, project, donation, transfer sources में distribution
- Inventory Audit Summary — periodic audit cycles में discrepancies
- Employee Assignments (v2) — किसके पास क्या है, batch allocations सहित
- Department / Location (v2) — department या location के अनुसार assets और quantities
- Inventory Reconciliation (v2) — स्टॉक vs allocated vs damaged/lost/disposed
- Damaged Assets (v2) — repair या write-off के लिए flagged items
सभी reports page header में बटनों से Excel और PDF export समर्थित करती हैं। v2 reports quantity-aware हैं (asset count + total units)।
वेबहुक
AssetHub महत्वपूर्ण events पर external services को सूचित कर सकता है।
उपलब्ध Events
asset.created,asset.updated,asset.deletedasset.assigned,asset.returned,asset.transferredrequest.created,request.approved,request.rejected,request.fulfilledmaintenance.scheduled,maintenance.started,maintenance.completedcheckout.created,checkout.returned
Payload प्रारूप
{
"event": "asset.assigned",
"timestamp": "2026-05-05T08:00:00+00:00",
"data": {
"asset_id": 1,
"asset_tag": "AS-2026-0001",
"asset_name": "HP EliteDesk 800",
"to_user_id": 4,
"transaction_id": 12
}
}
Signature सत्यापन
यदि secret कॉन्फ़िगर है, requests में header X-AssetHub-Signature शामिल होता है जिसमें payload body का HMAC-SHA256 होता है। अपनी ओर verify करें:
$expected = hash_hmac('sha256', $rawBody, $secret);
if (hash_equals($expected, $request->header('X-AssetHub-Signature'))) {
// मान्य
}
Retry नीति
failed deliveries 200 ms delay के साथ 3 बार retry होती हैं। 10 लगातार failures के बाद webhook auto-disabled हो जाता है।
अनुसूचित कार्य
AssetHub background jobs के लिए Laravel scheduler उपयोग करता है। आपको केवल एक cron entry चाहिए — Laravel आंतरिक रूप से प्रत्येक job सही समय पर dispatch करता है।
शेयर्ड hosting (cPanel / Hostinger Cron Jobs UI)
cPanel सेटअप → चरण 7 या Hostinger सेटअप → चरण 5 देखें। संक्षेप में: Advanced → Cron Jobs, command:
/usr/bin/php /home/uXXXXXX/public_html/artisan schedule:run
Schedule: हर मिनट (सभी पाँच fields में *)।
cPanel cron कमांड
CPANELUSER को अपने cPanel username से बदलें:
/usr/local/bin/php /home/CPANELUSER/public_html/artisan schedule:run
VPS / समर्पित server (crontab)
web user (अक्सर www-data) के रूप में crontab -e चलाएँ और जोड़ें:
* * * * * cd /path/to/AssetHub && php artisan schedule:run >> /dev/null 2>&1
फॉलबैक: external URL pinger
यदि host में बिल्कुल cron नहीं, in-app Cron URL (Settings → System tab) cron-job.org के साथ उपयोग करें (मुफ़्त, हर 15 मिनट)।
स्वतः चलने वाले jobs
| समय | कमांड | उद्देश्य |
|---|---|---|
| प्रतिदिन 08:00 | send-overdue-checkout-alerts | अतिदेय checkouts के लिए ईमेल अनुस्मारक |
| प्रतिदिन 08:30 | send-maintenance-reminders | आगामी maintenance reminders |
| प्रतिदिन 09:00 | send-document-expiry-alerts | 30/14/7/1 दिनों में expire होने वाले documents |
| प्रतिदिन 09:30 | send-warranty-alerts | Warranty + insurance समाप्ति अलर्ट |
| प्रतिदिन 10:00 | assethub:send-depreciation-end-alerts | assets के useful life समाप्त होने पर alerts |
| प्रतिदिन 10:30 | send-inventory-audit-reminders | active inventory audits के reminders |
| मासिक 1 को 02:00 | update-asset-values | मूल्यह्रास से asset current_value refresh |
Upgrade Guides
Step-by-step guides for updating an existing installation. Open the guide that matches your current version.
- v3.1 → v4.0 — Full upgrade guide — Appearance settings, browser tab title from Branding. No migration required.
- v3.0 → v3.1 — Full upgrade guide — Visible languages checklist in navbar picker. No migration required.
- v2.x → v3.0 — Full upgrade guide — Translation Editor, custom locales, localization settings.
- v1.x → v2.0 — Full upgrade guide — Batch assets, disposals, public QR page, operational reports.
समस्या निवारण
storage पर "Permission denied"
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache
QR code scanner कैमरा नहीं खोलता
ब्राउज़र camera APIs के लिए HTTPS चाहिए। SSL certificate इंस्टॉल करें या परीक्षण के लिए localhost उपयोग करें।
ईमेल नहीं पहुँच रहे
errors के लिए storage/logs/laravel.log देखें। SMTP credentials verify करने के लिए Settings → Email → Send Test Email उपयोग करें। सुनिश्चित करें SMTP server sending IP की अनुमति देता है।
cPanel पर Database "Access denied" (1045)
गलत username/password, user-to-database assignment missing, या password में special characters .env parsing तोड़ रहे हैं। cPanel सेटअप → सामान्य समस्याएँ देखें।
Migration त्रुटि 1067 (Invalid default value)
shared hosting पर MySQL strict mode multiple NOT NULL timestamp columns को reject करता है। v2.1.0+ में ठीक किया गया। अपना पैकेज update करें या checkouts migration में checkout_date / expected_return_date को dateTime में बदलें।
APP_KEY Missing / install से पहले 500 error
Laravel को app load होने से पहले .env में APP_KEY चाहिए। यदि cPanel में Terminal नहीं है, तो SSH, genkey.php, या local generation methods के लिए cPanel सेटअप → चरण 5 देखें।
installation reset करें
storage/installed.lock हटाएँ और फिर /install खोलें। migrations दोबारा चलाने पर मौजूदा data मिट जाएगा।
प्रदर्शन — धीमी asset list
config, routes, views cache करने के लिए php artisan optimize चलाएँ। सुनिश्चित करें MySQL में assets.asset_tag, assets.serial_number, assets.status पर indexes हैं (migrations द्वारा स्वतः बनते हैं)।
Upgrading from v3.0.x to v3.1
Download the v3.1 package from CodeCanyon, replace application files (keep your .env and storage/ uploads). No new migrations are required. The new visible_locales setting is optional — if unset, all languages remain visible in the navbar picker.
v3.0 → v3.1 — Full upgrade guide
v2.x से v3.0 में upgrade
CodeCanyon से v3 ZIP download करें, application files बदलें (.env और storage/ uploads रखें), फिर php artisan migrate चलाएँ। custom locales और translation overrides के लिए नई tables स्वतः जुड़ती हैं। Existing settings और assets preserved रहते हैं।
v2.x → v3.0 — Full upgrade guide
v1.x से v2.0 में upgrade
CodeCanyon से v2 ZIP डाउनलोड करें, application files बदलें (.env और storage/ uploads रखें), फिर php artisan migrate चलाएँ। upgrade non-breaking है — मौजूदा single assets काम करते रहते हैं; नई batch/disposal tables स्वतः जुड़ती हैं।
परिवर्तन लॉग
v3.1.0 — Visible Language Picker (2026-06)
- Settings → Localization: checklist to choose which languages appear in the navbar language dropdown (built-in + custom locales)
- Default language is always visible; picker auto-hides when only one language is selected
- Backend validates locale switches; users on a hidden locale fall back to the default language
- No database migration required — upgrade is file-replace only
- Login branding: footer और badge Settings → Branding → App Name से जुड़े हैं (कोड edit नहीं)
v3.0.0 — स्थानीयकरण & Translation Editor (2026-06)
- Administration → Translations पर Translation Editor UI (Add Locale, inline edit, group से search/filter)
- Custom locales DB में stored — code, display name, native name, flag SVG, direction, base locale
- bulk translation updates के लिए CSV import/export
- Timezone और currency settings अब app-wide लागू (config/localization.php incl. Europe/Skopje, MKD)
- Settings → Localization: searchable timezone/currency dropdowns, custom value support के साथ
- Hindi (hi) 11वें built-in locale के रूप में जोड़ा; date_format Vue pages पर respected
- Permission-gated manage translations; database overrides lang/ file baseline के साथ merge
v2.0.0 — परिचालन रिलीज़ (2026-06)
- बैच / लॉट assets — मात्रा ट्रैकिंग, आवंटन, वापसी, live मेल-मिलाप
- 4 परिचालन reports: Employee Assignments, Department/Location, Inventory Reconciliation, Damaged Assets
- निपटान module — write-off batches, separation-of-duty approval, printable minutes PDF
/a/{tag}पर public QR asset page configurable visibility के साथ- legacy reports asset count + total units दिखाने के लिए अपडेट
- QR codes public handover page से लिंक; transaction log batch moves पर quantity record करता है
- अपडेट demo data, user guide (
documentation/में अलग शिप), और i18n strings
v1.0.0 — प्रारंभिक रिलीज़ (2026-05)
- QR code auto-generation के साथ Asset CRUD
- granular permissions के साथ 5 user roles (Admin, IT Manager, Accountant, Supervisor, Employee)
- Asset Source tracking (केंद्रीकृत खरीद, विकेंद्रीकृत खरीद, निवेश परियोजना, दान, आंतरिक हस्तांतरण)
- ईमेल notifications के साथ assignment, return workflows
- permission gating के साथ Transfer Approval Workflow (pending → approved/rejected)
- Asset request अनुमोदन प्रवाह
- calendar view के साथ Check-in/check-out
- auto-renewal के साथ Maintenance scheduling
- expiry alerts के साथ Document attachments
- 3 calculation methods + end-of-life alerts के साथ Depreciation
- Inventory Audit module — discrepancy tracking के साथ periodic stocktake
- 7 input types और drag-drop sort के साथ Custom fields
- charts, Excel और PDF export के साथ 8 reports (Assets by Source, Inventory Audit Summary सहित)
- diff viewer के साथ Spatie Activitylog द्वारा Audit log
- HMAC signing और auto-retry के साथ Webhooks
- बहु-भाषा UI: 10 locales (en, vi, es, fr, de, zh, ja, pt-BR, ru, ar RTL के साथ)
- company, email, notifications, localization, translations के लिए Settings UI
- वेब-आधारित installation wizard
- emerald-teal brand palette के साथ Dark mode
श्रेय
उपयोग की गई open-source libraries
- Laravel 11 — MIT
- Vue 3 — MIT
- Inertia.js — MIT
- Tailwind CSS — MIT
- Spatie Permission, Media Library, Activitylog — MIT
- Phosphor Icons — MIT (duotone weight)
- ApexCharts — MIT
- html5-qrcode — Apache 2.0
- Simple QrCode — MIT
- Laravel Excel — MIT
- Laravel DomPDF — MIT