first commit
|
|
@ -1,15 +0,0 @@
|
|||
module.exports = {
|
||||
env: { browser: true, es2020: true },
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:react/recommended',
|
||||
'plugin:react/jsx-runtime',
|
||||
'plugin:react-hooks/recommended',
|
||||
],
|
||||
parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
|
||||
settings: { react: { version: '18.2' } },
|
||||
plugins: ['react-refresh'],
|
||||
rules: {
|
||||
'react-refresh/only-export-components': 'warn',
|
||||
},
|
||||
}
|
||||
|
|
@ -20,6 +20,9 @@ dist_working_backup/
|
|||
# Zip files
|
||||
*.zip
|
||||
|
||||
# Unused files folder
|
||||
unused/
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
|
|
|
|||
|
|
@ -1,293 +0,0 @@
|
|||
# 🚀 POZO - BAT Files Usage Guide
|
||||
|
||||
## 📁 Available BAT Files
|
||||
|
||||
### 🔨 BUILD-PROJECT.bat (RECOMMENDED)
|
||||
**What it does:**
|
||||
- Stops all running servers
|
||||
- Installs npm dependencies if needed
|
||||
- Runs complete build with `npm run convert-jsx-to-html`
|
||||
- Copies server files to dist
|
||||
- Generates SEO files
|
||||
- Verifies all output files
|
||||
|
||||
**When to use:**
|
||||
- First time setup
|
||||
- After making code changes
|
||||
- When you need a fresh, complete build
|
||||
|
||||
**How to use:**
|
||||
1. Double-click `BUILD-PROJECT.bat`
|
||||
2. Wait for completion (1-2 minutes)
|
||||
3. Check for success message
|
||||
|
||||
---
|
||||
|
||||
### ⚡ SIMPLE-BUILD.bat (ALTERNATIVE)
|
||||
**What it does:**
|
||||
- Same as BUILD-PROJECT but with better error handling
|
||||
- Skips react-snap (faster)
|
||||
- Still generates SEO files
|
||||
|
||||
**When to use:**
|
||||
- If BUILD-PROJECT.bat fails
|
||||
- When you want faster builds
|
||||
- When react-snap causes issues
|
||||
|
||||
**How to use:**
|
||||
1. Double-click `SIMPLE-BUILD.bat`
|
||||
2. Wait for completion
|
||||
3. Check output messages
|
||||
|
||||
---
|
||||
|
||||
### 🚀 QUICK-START.bat (FASTEST)
|
||||
**What it does:**
|
||||
- Just starts the server (no build)
|
||||
- Uses existing dist folder
|
||||
- Installs dependencies if missing
|
||||
|
||||
**When to use:**
|
||||
- When you already have a build
|
||||
- Just want to start/restart server
|
||||
- Testing without rebuilding
|
||||
|
||||
**How to use:**
|
||||
1. Make sure you've built at least once
|
||||
2. Double-click `QUICK-START.bat`
|
||||
3. Server starts immediately
|
||||
|
||||
---
|
||||
|
||||
### ▶️ START-SERVER.bat
|
||||
**What it does:**
|
||||
- Starts the Node.js server from dist folder
|
||||
- Shows all test URLs
|
||||
- Checks if dist/server.js exists
|
||||
|
||||
**When to use:**
|
||||
- After building
|
||||
- When QUICK-START seems too minimal
|
||||
|
||||
**How to use:**
|
||||
1. Ensure build is complete
|
||||
2. Double-click `START-SERVER.bat`
|
||||
3. Browser-ல URLs open பண்ணு
|
||||
|
||||
---
|
||||
|
||||
### ⏹️ STOP-SERVER.bat
|
||||
**What it does:**
|
||||
- Kills all Node.js processes
|
||||
- Confirms servers stopped
|
||||
|
||||
**When to use:**
|
||||
- When you're done testing
|
||||
- Before starting a new build
|
||||
- When server is stuck
|
||||
|
||||
**How to use:**
|
||||
1. Double-click `STOP-SERVER.bat`
|
||||
2. Wait for confirmation
|
||||
3. Done!
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Recommended Workflow
|
||||
|
||||
### First Time / Fresh Setup:
|
||||
```
|
||||
1. BUILD-PROJECT.bat (Build everything)
|
||||
2. START-SERVER.bat (Start server)
|
||||
3. Test in browser (Verify SEO)
|
||||
4. STOP-SERVER.bat (Stop when done)
|
||||
```
|
||||
|
||||
### Regular Development:
|
||||
```
|
||||
1. Make code changes
|
||||
2. STOP-SERVER.bat (Stop old server)
|
||||
3. BUILD-PROJECT.bat (Rebuild)
|
||||
4. START-SERVER.bat (Start new server)
|
||||
5. Test in browser
|
||||
6. STOP-SERVER.bat (Stop when done)
|
||||
```
|
||||
|
||||
### Quick Testing (No Changes):
|
||||
```
|
||||
1. QUICK-START.bat (Just start server)
|
||||
2. Test in browser
|
||||
3. Press Ctrl+C in window (Stop server)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Issue: BUILD-PROJECT.bat fails
|
||||
|
||||
**Solution 1:** Try SIMPLE-BUILD.bat instead
|
||||
```
|
||||
Double-click: SIMPLE-BUILD.bat
|
||||
```
|
||||
|
||||
**Solution 2:** Manual build
|
||||
```powershell
|
||||
npm install
|
||||
npm run build
|
||||
node scripts/jsx-to-html-converter.js
|
||||
```
|
||||
|
||||
**Solution 3:** Check for errors
|
||||
- Missing dependencies → Run `npm install`
|
||||
- Syntax errors in code → Check error messages
|
||||
- Port already in use → Run STOP-SERVER.bat first
|
||||
|
||||
---
|
||||
|
||||
### Issue: START-SERVER.bat shows "dist/server.js not found"
|
||||
|
||||
**Solution:**
|
||||
```
|
||||
1. Run BUILD-PROJECT.bat first
|
||||
2. Check if dist folder exists
|
||||
3. Verify dist/server.js is present
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Issue: Server starts but shows blank page
|
||||
|
||||
**Solution:**
|
||||
```
|
||||
1. Check browser console (F12)
|
||||
2. Verify URL is http://localhost:3000/home/ (with /home/)
|
||||
3. Clear browser cache (Ctrl + Shift + Delete)
|
||||
4. Rebuild: BUILD-PROJECT.bat
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Issue: Port 3000 already in use
|
||||
|
||||
**Solution:**
|
||||
```
|
||||
1. Run STOP-SERVER.bat
|
||||
2. Or manually kill process:
|
||||
Get-Process -Name node | Stop-Process -Force
|
||||
3. Try starting again
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Issue: SEO tags not showing
|
||||
|
||||
**Solution:**
|
||||
```
|
||||
1. Verify you're viewing page source (Ctrl + U)
|
||||
2. Check if scripts/generate-seo.js ran successfully
|
||||
3. Rebuild with BUILD-PROJECT.bat
|
||||
4. Check dist/home/pricing-pozoapp/index.html manually
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Quick Command Reference
|
||||
|
||||
### To Build:
|
||||
- **Full build:** `BUILD-PROJECT.bat`
|
||||
- **Simple build:** `SIMPLE-BUILD.bat`
|
||||
|
||||
### To Start:
|
||||
- **Normal start:** `START-SERVER.bat`
|
||||
- **Quick start:** `QUICK-START.bat`
|
||||
|
||||
### To Stop:
|
||||
- **Clean stop:** `STOP-SERVER.bat`
|
||||
- **Force stop:** Press `Ctrl+C` in server window
|
||||
|
||||
### To Test:
|
||||
1. Start server (any method above)
|
||||
2. Open: http://localhost:3000/home/
|
||||
3. View source: Press `Ctrl + U`
|
||||
4. Check `<title>` and `<meta>` tags
|
||||
|
||||
---
|
||||
|
||||
## ✅ Success Checklist
|
||||
|
||||
After running BUILD-PROJECT.bat, verify:
|
||||
- [ ] No error messages
|
||||
- [ ] dist/server.js exists
|
||||
- [ ] dist/server/seo-middleware.js exists
|
||||
- [ ] dist/web.config exists
|
||||
- [ ] dist/home/pricing-pozoapp/index.html exists
|
||||
- [ ] dist/home/blog/index.html exists
|
||||
|
||||
After running START-SERVER.bat, verify:
|
||||
- [ ] "Server running on port 3000" message shows
|
||||
- [ ] "Dynamic SEO enabled!" message shows
|
||||
- [ ] http://localhost:3000/home/ opens in browser
|
||||
- [ ] Page shows correct content
|
||||
- [ ] View Source shows SEO tags
|
||||
|
||||
---
|
||||
|
||||
## 💡 Pro Tips
|
||||
|
||||
1. **Always stop server before building:**
|
||||
- Run STOP-SERVER.bat before BUILD-PROJECT.bat
|
||||
|
||||
2. **Check for success messages:**
|
||||
- Green text = success
|
||||
- Red text = error
|
||||
- Yellow text = warning (usually okay)
|
||||
|
||||
3. **Save time:**
|
||||
- Use QUICK-START.bat if no code changes
|
||||
- Use SIMPLE-BUILD.bat for faster builds
|
||||
|
||||
4. **Verify SEO:**
|
||||
- Always check with Ctrl+U (View Source)
|
||||
- Don't rely on browser inspector (F12)
|
||||
|
||||
5. **Keep terminal open:**
|
||||
- Don't close the server window
|
||||
- It shows useful logs and errors
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Still Having Issues?
|
||||
|
||||
### Check logs:
|
||||
1. Look at terminal output carefully
|
||||
2. Red error messages show the problem
|
||||
3. Note the step where it fails
|
||||
|
||||
### Common fixes:
|
||||
```powershell
|
||||
# Reinstall dependencies
|
||||
npm install
|
||||
|
||||
# Clear node_modules and reinstall
|
||||
Remove-Item node_modules -Recurse -Force
|
||||
npm install
|
||||
|
||||
# Clear dist and rebuild
|
||||
Remove-Item dist -Recurse -Force
|
||||
BUILD-PROJECT.bat
|
||||
|
||||
# Kill all node processes
|
||||
Get-Process -Name node | Stop-Process -Force
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Created:** 2025-11-04
|
||||
**Version:** 1.0
|
||||
**Project:** POZO - Retail ERP & POS
|
||||
|
||||
---
|
||||
|
||||
**படி படியா follow பண்ணா எல்லாம் work ஆகும்! 💪🚀**
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
@echo dist\server.js off
|
||||
echo 🚀 Building PozoApp with SEO optimization...
|
||||
echo.
|
||||
|
||||
REM Set production environment
|
||||
set NODE_ENV=production
|
||||
set ENV_MAIN_BASE_URL=https://www.pozo.dev
|
||||
set ENV_BASE_URL=/
|
||||
set ENV_API_URL=https://api.pozo.dev/pozo-common-api
|
||||
|
||||
echo ✅ Environment variables set
|
||||
echo.
|
||||
|
||||
REM Clean previous build
|
||||
if exist dist rmdir /s /q dist
|
||||
echo ✅ Cleaned previous build
|
||||
echo.
|
||||
|
||||
REM Run build with SEO
|
||||
echo 🔨 Running Vite build...
|
||||
npm run build
|
||||
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo ❌ Vite build failed!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo ✅ Vite build completed
|
||||
echo.
|
||||
echo 🔍 Generating SEO files...
|
||||
npm run generate-seo
|
||||
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo ❌ SEO generation failed!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo ✅ SEO files generated
|
||||
echo.
|
||||
echo 🔄 Running JSX to HTML converter...
|
||||
set SKIP_BUILD=1
|
||||
node scripts\jsx-to-html-converter.js
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo ❌ JSX to HTML conversion failed!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo ✅ JSX to HTML conversion completed
|
||||
echo.
|
||||
echo ✅ Build completed successfully!
|
||||
echo.
|
||||
echo 🚀 Starting SEO server on port 3000...
|
||||
echo.
|
||||
node
|
||||
|
|
@ -1,365 +0,0 @@
|
|||
# POZO Competitor Analysis & Market Positioning
|
||||
|
||||
## 🏆 DIRECT COMPETITORS ANALYSIS
|
||||
|
||||
### 1. MARG ERP
|
||||
**Market Position:** Established leader in North India
|
||||
**Strengths:**
|
||||
- Strong GST compliance features
|
||||
- Extensive dealer network
|
||||
- 25+ years market presence
|
||||
- Multi-language support
|
||||
|
||||
**Weaknesses:**
|
||||
- Outdated UI/UX design
|
||||
- High pricing for small businesses
|
||||
- Limited cloud features
|
||||
- Poor mobile experience
|
||||
|
||||
**SEO Analysis:**
|
||||
- Domain Authority: 45
|
||||
- Top Keywords: "GST software", "accounting software"
|
||||
- Monthly Traffic: ~50K visits
|
||||
- Content Gap: Lacks modern retail trends content
|
||||
|
||||
**Our Advantage:** Modern design, better pricing, cloud-first approach
|
||||
|
||||
---
|
||||
|
||||
### 2. GOFRUGAL
|
||||
**Market Position:** Strong in South India, retail-focused
|
||||
**Strengths:**
|
||||
- Retail-specific features
|
||||
- Good customer support
|
||||
- Regional market knowledge
|
||||
- Integrated solutions
|
||||
|
||||
**Weaknesses:**
|
||||
- Limited national presence
|
||||
- Complex pricing structure
|
||||
- Slow innovation cycle
|
||||
- Heavy desktop dependency
|
||||
|
||||
**SEO Analysis:**
|
||||
- Domain Authority: 38
|
||||
- Top Keywords: "retail software", "POS software India"
|
||||
- Monthly Traffic: ~35K visits
|
||||
- Content Gap: Limited educational content
|
||||
|
||||
**Our Advantage:** National reach, simpler pricing, modern tech stack
|
||||
|
||||
---
|
||||
|
||||
### 3. VYAPAR
|
||||
**Market Position:** Mobile-first, small business focus
|
||||
**Strengths:**
|
||||
- Excellent mobile app
|
||||
- Simple user interface
|
||||
- Affordable pricing
|
||||
- Strong digital marketing
|
||||
|
||||
**Weaknesses:**
|
||||
- Limited advanced features
|
||||
- No multi-store support
|
||||
- Basic inventory management
|
||||
- Lacks enterprise features
|
||||
|
||||
**SEO Analysis:**
|
||||
- Domain Authority: 42
|
||||
- Top Keywords: "billing app", "invoice software"
|
||||
- Monthly Traffic: ~80K visits
|
||||
- Content Strength: Good educational blog
|
||||
|
||||
**Our Advantage:** Advanced features, multi-store capability, enterprise-ready
|
||||
|
||||
---
|
||||
|
||||
### 4. BUSY ACCOUNTING
|
||||
**Market Position:** Comprehensive business software
|
||||
**Strengths:**
|
||||
- Complete business suite
|
||||
- Strong accounting features
|
||||
- Established brand
|
||||
- Good integration capabilities
|
||||
|
||||
**Weaknesses:**
|
||||
- Complex for small retailers
|
||||
- Expensive implementation
|
||||
- Steep learning curve
|
||||
- Limited retail-specific features
|
||||
|
||||
**SEO Analysis:**
|
||||
- Domain Authority: 48
|
||||
- Top Keywords: "accounting software", "business software"
|
||||
- Monthly Traffic: ~60K visits
|
||||
- Content Gap: Lacks retail industry focus
|
||||
|
||||
**Our Advantage:** Retail-specific design, easier implementation, better UX
|
||||
|
||||
---
|
||||
|
||||
### 5. RETAILEASY
|
||||
**Market Position:** Chain store specialist
|
||||
**Strengths:**
|
||||
- Multi-location expertise
|
||||
- Good reporting features
|
||||
- Industry experience
|
||||
- Scalable architecture
|
||||
|
||||
**Weaknesses:**
|
||||
- High cost of ownership
|
||||
- Complex setup process
|
||||
- Limited small business appeal
|
||||
- Poor marketing presence
|
||||
|
||||
**SEO Analysis:**
|
||||
- Domain Authority: 35
|
||||
- Top Keywords: "retail chain software", "multi-store POS"
|
||||
- Monthly Traffic: ~25K visits
|
||||
- Content Gap: Limited online presence
|
||||
|
||||
**Our Advantage:** Better pricing, easier setup, stronger digital presence
|
||||
|
||||
## 📊 COMPETITIVE KEYWORD ANALYSIS
|
||||
|
||||
### High-Competition Keywords (Difficult to Rank)
|
||||
```
|
||||
Keyword: "POS software India"
|
||||
- Marg ERP: Position 3
|
||||
- Vyapar: Position 5
|
||||
- Gofrugal: Position 8
|
||||
- Our Target: Top 5 (achievable with content strategy)
|
||||
|
||||
Keyword: "GST billing software"
|
||||
- Marg ERP: Position 1
|
||||
- Busy: Position 4
|
||||
- Vyapar: Position 7
|
||||
- Our Target: Top 10 (long-term goal)
|
||||
```
|
||||
|
||||
### Medium-Competition Keywords (Opportunity)
|
||||
```
|
||||
Keyword: "Retail ERP software"
|
||||
- RetailEasy: Position 6
|
||||
- Gofrugal: Position 9
|
||||
- Our Target: Top 3 (good opportunity)
|
||||
|
||||
Keyword: "Multi-store POS system"
|
||||
- RetailEasy: Position 4
|
||||
- Limited competition
|
||||
- Our Target: Top 3 (high opportunity)
|
||||
```
|
||||
|
||||
### Low-Competition Keywords (Quick Wins)
|
||||
```
|
||||
Keyword: "Weighing scale POS integration"
|
||||
- Very limited competition
|
||||
- Our Target: Position 1 (easy win)
|
||||
|
||||
Keyword: "Offline retail billing software"
|
||||
- Moderate competition
|
||||
- Our Target: Top 3 (achievable)
|
||||
|
||||
Keyword: "Cloud-based kirana software"
|
||||
- Emerging keyword, low competition
|
||||
- Our Target: Position 1 (first-mover advantage)
|
||||
```
|
||||
|
||||
## 🎯 CONTENT GAP ANALYSIS
|
||||
|
||||
### What Competitors Are Missing
|
||||
|
||||
#### 1. Educational Content Gaps
|
||||
- **Modern Retail Trends:** AI, automation, omnichannel
|
||||
- **Industry-Specific Guides:** Pharmacy, electronics, textiles
|
||||
- **Implementation Stories:** Real customer journeys
|
||||
- **ROI Calculators:** Quantified business impact
|
||||
|
||||
#### 2. Technical Content Gaps
|
||||
- **Integration Guides:** Third-party app connections
|
||||
- **API Documentation:** Developer resources
|
||||
- **Video Tutorials:** Step-by-step setup guides
|
||||
- **Troubleshooting:** Common issues and solutions
|
||||
|
||||
#### 3. Local Market Gaps
|
||||
- **Regional Case Studies:** State-specific success stories
|
||||
- **Local Compliance:** State-wise GST variations
|
||||
- **Language Content:** Hindi, Tamil, Telugu content
|
||||
- **Cultural Adaptation:** Festival seasons, local practices
|
||||
|
||||
### Our Content Opportunities
|
||||
|
||||
#### Immediate Wins (Month 1)
|
||||
1. **"Complete Guide to Weighing Scale POS Integration"**
|
||||
- No competitor has comprehensive guide
|
||||
- High search volume, low competition
|
||||
- Technical differentiation
|
||||
|
||||
2. **"Kirana Store Digital Transformation Playbook"**
|
||||
- Limited quality content available
|
||||
- Large target market
|
||||
- Local market expertise
|
||||
|
||||
3. **"Multi-Store Retail Chain Management Best Practices"**
|
||||
- RetailEasy has basic content
|
||||
- Opportunity for comprehensive guide
|
||||
- Enterprise market focus
|
||||
|
||||
#### Medium-Term Opportunities (Month 2-3)
|
||||
1. **Industry-Specific Solution Guides**
|
||||
- Pharmacy billing compliance
|
||||
- Electronics retail management
|
||||
- Textile store operations
|
||||
|
||||
2. **Regional Market Analysis**
|
||||
- "Retail Digitization in Tamil Nadu"
|
||||
- "Mumbai's Retail Technology Adoption"
|
||||
- "Bangalore Startup Retail Ecosystem"
|
||||
|
||||
3. **Comparison Content**
|
||||
- "POZO vs Marg ERP: Feature Comparison"
|
||||
- "Cloud vs Desktop POS: Which is Better?"
|
||||
- "Small Business POS Software Comparison"
|
||||
|
||||
## 🔍 COMPETITOR BACKLINK ANALYSIS
|
||||
|
||||
### High-Authority Backlinks (Target for Outreach)
|
||||
```
|
||||
Software Suggest (DA: 65)
|
||||
- Competitors: Marg, Vyapar, Busy
|
||||
- Opportunity: Product listing + review
|
||||
|
||||
Capterra India (DA: 78)
|
||||
- Competitors: All major players
|
||||
- Opportunity: Premium listing + content
|
||||
|
||||
TrustRadius (DA: 72)
|
||||
- Competitors: Busy, RetailEasy
|
||||
- Opportunity: Customer reviews + case studies
|
||||
|
||||
IndiaMART (DA: 85)
|
||||
- Competitors: Marg, Gofrugal
|
||||
- Opportunity: B2B marketplace listing
|
||||
```
|
||||
|
||||
### Industry Publication Opportunities
|
||||
```
|
||||
Retail4Growth (DA: 45)
|
||||
- Content: Guest posts on retail technology
|
||||
- Competitors: Limited presence
|
||||
- Opportunity: Thought leadership
|
||||
|
||||
Progressive Grocer India (DA: 38)
|
||||
- Content: Industry insights and trends
|
||||
- Competitors: Occasional mentions
|
||||
- Opportunity: Regular contributor
|
||||
|
||||
Franchise India (DA: 52)
|
||||
- Content: Multi-store management
|
||||
- Competitors: Basic presence
|
||||
- Opportunity: Franchise-focused content
|
||||
```
|
||||
|
||||
## 📈 COMPETITIVE POSITIONING STRATEGY
|
||||
|
||||
### Our Unique Value Propositions
|
||||
|
||||
#### 1. **Modern Technology Stack**
|
||||
- **Vs Marg/Busy:** Cloud-first, modern UI/UX
|
||||
- **Vs Gofrugal:** Better mobile experience
|
||||
- **Vs Vyapar:** Enterprise-grade features
|
||||
- **Vs RetailEasy:** More affordable, easier setup
|
||||
|
||||
#### 2. **Retail-Specific Focus**
|
||||
- **Vs Accounting Software:** Built for retail operations
|
||||
- **Vs Generic POS:** Industry-specific features
|
||||
- **Vs Enterprise Solutions:** SME-friendly approach
|
||||
|
||||
#### 3. **Indian Market Expertise**
|
||||
- **Vs Global Players:** Local compliance knowledge
|
||||
- **Vs Regional Players:** National scalability
|
||||
- **Vs Startups:** Proven track record
|
||||
|
||||
### Content Positioning Strategy
|
||||
|
||||
#### Educational Leadership
|
||||
- Position as retail technology thought leader
|
||||
- Create comprehensive educational resources
|
||||
- Host webinars and industry events
|
||||
- Publish market research and insights
|
||||
|
||||
#### Customer Success Focus
|
||||
- Showcase real customer transformations
|
||||
- Quantify ROI and business impact
|
||||
- Build community of successful retailers
|
||||
- Create customer advocacy program
|
||||
|
||||
#### Innovation Messaging
|
||||
- Highlight cutting-edge features
|
||||
- Demonstrate future-ready solutions
|
||||
- Show continuous product evolution
|
||||
- Position as technology pioneer
|
||||
|
||||
## 🎯 COMPETITIVE SEO ACTION PLAN
|
||||
|
||||
### Phase 1: Quick Wins (Month 1)
|
||||
1. **Target Low-Competition Keywords**
|
||||
- Create content for weighing scale integration
|
||||
- Develop kirana store guides
|
||||
- Build offline billing resources
|
||||
|
||||
2. **Improve Existing Pages**
|
||||
- Optimize title tags with competitive keywords
|
||||
- Enhance meta descriptions
|
||||
- Add competitor comparison sections
|
||||
|
||||
3. **Content Creation**
|
||||
- Publish 4 high-quality blog posts
|
||||
- Create comparison landing pages
|
||||
- Develop industry-specific resources
|
||||
|
||||
### Phase 2: Market Penetration (Month 2-3)
|
||||
1. **Content Cluster Development**
|
||||
- Build comprehensive topic clusters
|
||||
- Create pillar pages for main topics
|
||||
- Develop supporting content network
|
||||
|
||||
2. **Link Building Campaign**
|
||||
- Outreach to industry publications
|
||||
- Guest posting on relevant blogs
|
||||
- Directory submissions and listings
|
||||
|
||||
3. **Local SEO Enhancement**
|
||||
- Create city-specific landing pages
|
||||
- Build local business partnerships
|
||||
- Optimize for regional keywords
|
||||
|
||||
### Phase 3: Market Leadership (Month 4-6)
|
||||
1. **Thought Leadership**
|
||||
- Publish industry research reports
|
||||
- Host virtual events and webinars
|
||||
- Create comprehensive resource library
|
||||
|
||||
2. **Advanced Content**
|
||||
- Develop interactive tools and calculators
|
||||
- Create video content series
|
||||
- Build customer success stories
|
||||
|
||||
3. **Competitive Monitoring**
|
||||
- Track competitor keyword movements
|
||||
- Monitor their content strategies
|
||||
- Identify new opportunities
|
||||
|
||||
## 📊 SUCCESS METRICS
|
||||
|
||||
### Competitive Benchmarks (6 Months)
|
||||
- **Organic Traffic:** Match Vyapar's 80K monthly visits
|
||||
- **Keyword Rankings:** Top 5 for 10+ competitive keywords
|
||||
- **Domain Authority:** Reach 40+ (currently ~25)
|
||||
- **Content Performance:** 50+ ranking blog posts
|
||||
|
||||
### Market Share Goals
|
||||
- **Brand Awareness:** Top 5 POS software brand recognition
|
||||
- **Lead Generation:** 30% market share in target segments
|
||||
- **Customer Acquisition:** 500+ new customers from organic
|
||||
- **Revenue Impact:** 40% of sales from SEO-driven leads
|
||||
|
|
@ -1,450 +0,0 @@
|
|||
# 🚀 POZO - Complete Deployment Guide with Dynamic SEO
|
||||
|
||||
## ⚠️ IMPORTANT: Follow EXACTLY in this order. Don't skip any step!
|
||||
|
||||
---
|
||||
|
||||
## 📋 Prerequisites Check
|
||||
|
||||
Before starting, make sure you have:
|
||||
- ✅ Node.js installed (check: `node --version`)
|
||||
- ✅ npm installed (check: `npm --version`)
|
||||
- ✅ Access to your IIS server
|
||||
- ✅ iisnode installed on IIS server
|
||||
- ✅ URL Rewrite module installed on IIS server
|
||||
|
||||
---
|
||||
|
||||
## 🔨 PART 1: Build the Project Locally
|
||||
|
||||
### Step 1: Stop any running servers
|
||||
```powershell
|
||||
# Kill all node processes
|
||||
Get-Process -Name node -ErrorAction SilentlyContinue | Stop-Process -Force
|
||||
```
|
||||
|
||||
### Step 2: Clean previous build (Optional but recommended)
|
||||
```powershell
|
||||
# Remove old dist folder
|
||||
Remove-Item -Path "dist" -Recurse -Force -ErrorAction SilentlyContinue
|
||||
```
|
||||
|
||||
### Step 3: Install dependencies
|
||||
```powershell
|
||||
# Make sure all packages are installed
|
||||
npm install
|
||||
```
|
||||
|
||||
### Step 4: Build the project with SEO generation
|
||||
```powershell
|
||||
# This runs Vite build + React Snap + SEO generation
|
||||
npm run convert-jsx-to-html
|
||||
```
|
||||
|
||||
**Expected Output:**
|
||||
- ✅ Vite build completes
|
||||
- ✅ React Snap attempts to prerender (may show warnings - ignore them)
|
||||
- ✅ SEO files generated for all pages
|
||||
- ✅ `dist/` folder created with all files
|
||||
- ✅ `dist/server.js` created
|
||||
- ✅ `dist/server/seo-middleware.js` created
|
||||
- ✅ `dist/web.config` created
|
||||
|
||||
### Step 5: Verify build output
|
||||
```powershell
|
||||
# Check if critical files exist
|
||||
Test-Path "dist/server.js"
|
||||
Test-Path "dist/server/seo-middleware.js"
|
||||
Test-Path "dist/web.config"
|
||||
Test-Path "dist/home/pricing-pozoapp/index.html"
|
||||
Test-Path "dist/home/blog/index.html"
|
||||
```
|
||||
|
||||
**All should return:** `True`
|
||||
|
||||
---
|
||||
|
||||
## 🧪 PART 2: Test Locally (MANDATORY!)
|
||||
|
||||
### Step 6: Start local server
|
||||
```powershell
|
||||
# Navigate to dist folder and start server
|
||||
cd dist
|
||||
node server.js
|
||||
```
|
||||
|
||||
**Expected Output:**
|
||||
```
|
||||
Server running on port 3000
|
||||
Dynamic SEO enabled!
|
||||
```
|
||||
|
||||
### Step 7: Test in browser
|
||||
|
||||
Open these URLs in your browser:
|
||||
|
||||
1. **Home:** http://localhost:3000/home/
|
||||
2. **Pricing:** http://localhost:3000/home/pricing-pozoapp
|
||||
3. **Blog:** http://localhost:3000/home/blog
|
||||
4. **Contact:** http://localhost:3000/home/contact-us
|
||||
5. **Sign In:** http://localhost:3000/home/signin
|
||||
|
||||
### Step 8: Verify SEO for each page
|
||||
|
||||
For EACH page above:
|
||||
1. Open the URL in browser
|
||||
2. Press `Ctrl + U` to view page source
|
||||
3. Check `<head>` section contains:
|
||||
- ✅ `<title>` tag with correct page title
|
||||
- ✅ `<meta name="description"` with correct description
|
||||
- ✅ `<meta property="og:title"` - Open Graph title
|
||||
- ✅ `<meta property="og:description"` - OG description
|
||||
- ✅ `<meta property="og:image"` - OG image URL
|
||||
- ✅ `<meta property="og:url"` - Page URL
|
||||
- ✅ `<meta property="twitter:card"` - Twitter card
|
||||
- ✅ `<link rel="canonical"` - Canonical URL
|
||||
|
||||
**IMPORTANT:** If ANY page shows wrong SEO or missing tags, **STOP** and fix before deploying!
|
||||
|
||||
### Step 9: Stop local server
|
||||
```powershell
|
||||
# Press Ctrl+C in the terminal where server is running
|
||||
# OR run this in new terminal:
|
||||
Get-Process -Name node -ErrorAction SilentlyContinue | Stop-Process -Force
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 PART 3: Prepare Files for Deployment
|
||||
|
||||
### Step 10: Check dist folder contents
|
||||
|
||||
Your `dist/` folder should have:
|
||||
```
|
||||
dist/
|
||||
├── assets/ (all JS, CSS, images)
|
||||
├── home/
|
||||
│ ├── index.html
|
||||
│ ├── blog/
|
||||
│ │ └── index.html
|
||||
│ ├── pricing-pozoapp/
|
||||
│ │ └── index.html
|
||||
│ ├── contact-us/
|
||||
│ │ └── index.html
|
||||
│ └── signin/
|
||||
│ └── index.html
|
||||
├── og/ (Open Graph images)
|
||||
├── server/
|
||||
│ └── seo-middleware.js
|
||||
├── index.html
|
||||
├── server.js (CRITICAL!)
|
||||
├── web.config (CRITICAL!)
|
||||
├── robots.txt
|
||||
├── sitemap.xml
|
||||
└── ... (other files)
|
||||
```
|
||||
|
||||
### Step 11: Create deployment package
|
||||
|
||||
```powershell
|
||||
# Go back to project root
|
||||
cd ..
|
||||
|
||||
# Create a zip file of dist folder (optional, makes upload easier)
|
||||
Compress-Archive -Path "dist\*" -DestinationPath "pozo-deployment.zip" -Force
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🌐 PART 4: Deploy to IIS Server
|
||||
|
||||
### Step 12: Upload files to server
|
||||
|
||||
**Option A: If you have FTP/SFTP access:**
|
||||
1. Connect to your server via FTP/SFTP
|
||||
2. Navigate to your website root folder (e.g., `C:\inetpub\wwwroot\pozo.dev\`)
|
||||
3. **BACKUP existing files first!**
|
||||
4. Delete old files in the folder
|
||||
5. Upload ALL files from `dist/` folder
|
||||
|
||||
**Option B: If you have RDP access:**
|
||||
1. Connect via Remote Desktop
|
||||
2. Copy `dist/` folder or `pozo-deployment.zip` to server
|
||||
3. Extract/move files to website root (e.g., `C:\inetpub\wwwroot\pozo.dev\`)
|
||||
|
||||
### Step 13: Install Node.js dependencies on server
|
||||
|
||||
**On your IIS server (via RDP or SSH):**
|
||||
```powershell
|
||||
# Navigate to your website root
|
||||
cd C:\inetpub\wwwroot\pozo.dev
|
||||
|
||||
# Install dependencies
|
||||
npm install express axios
|
||||
```
|
||||
|
||||
### Step 14: Verify critical files on server
|
||||
|
||||
**On server, check these files exist:**
|
||||
```powershell
|
||||
Test-Path "server.js"
|
||||
Test-Path "server\seo-middleware.js"
|
||||
Test-Path "web.config"
|
||||
Test-Path "node_modules\express"
|
||||
Test-Path "node_modules\axios"
|
||||
```
|
||||
|
||||
**All should return:** `True`
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ PART 5: Configure IIS
|
||||
|
||||
### Step 15: Verify iisnode is installed
|
||||
|
||||
1. Open IIS Manager
|
||||
2. Select your site
|
||||
3. Check if "iisnode" icon is visible in Features View
|
||||
4. If NOT visible, install iisnode from: https://github.com/Azure/iisnode/releases
|
||||
|
||||
### Step 16: Verify URL Rewrite module
|
||||
|
||||
1. In IIS Manager, select your site
|
||||
2. Check if "URL Rewrite" icon is visible
|
||||
3. If NOT visible, install from: https://www.iis.net/downloads/microsoft/url-rewrite
|
||||
|
||||
### Step 17: Check web.config
|
||||
|
||||
Your `web.config` should look like this:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<add name="iisnode" path="server.js" verb="*" modules="iisnode" resourceType="File" />
|
||||
</handlers>
|
||||
<rewrite>
|
||||
<rules>
|
||||
<!-- Route all requests to Node.js server -->
|
||||
<rule name="pozo.dev" stopProcessing="true">
|
||||
<match url="/*" />
|
||||
<action type="Rewrite" url="server.js" />
|
||||
</rule>
|
||||
</rules>
|
||||
</rewrite>
|
||||
<iisnode node_env="production" />
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
```
|
||||
|
||||
**If different, replace with above content.**
|
||||
|
||||
### Step 18: Set proper permissions
|
||||
|
||||
**On server:**
|
||||
1. Right-click on website folder → Properties → Security
|
||||
2. Add `IIS_IUSRS` with Read & Execute permissions
|
||||
3. Add `IUSR` with Read & Execute permissions
|
||||
|
||||
### Step 19: Configure Application Pool
|
||||
|
||||
1. Open IIS Manager
|
||||
2. Go to Application Pools
|
||||
3. Find your site's app pool
|
||||
4. Right-click → Advanced Settings
|
||||
5. Set:
|
||||
- `.NET CLR Version`: No Managed Code
|
||||
- `Enable 32-Bit Applications`: False
|
||||
- `Pipeline Mode`: Integrated
|
||||
|
||||
### Step 20: Restart Application Pool
|
||||
|
||||
1. In IIS Manager → Application Pools
|
||||
2. Right-click your app pool → Stop
|
||||
3. Wait 5 seconds
|
||||
4. Right-click → Start
|
||||
|
||||
### Step 21: Restart IIS (optional but recommended)
|
||||
|
||||
**On server:**
|
||||
```powershell
|
||||
iisreset
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ PART 6: Test Production Site
|
||||
|
||||
### Step 22: Test your live site
|
||||
|
||||
Open these URLs (replace `pozo.dev` with your domain):
|
||||
|
||||
1. **Home:** https://www.pozo.dev/home/
|
||||
2. **Pricing:** https://www.pozo.dev/home/pricing-pozoapp
|
||||
3. **Blog:** https://www.pozo.dev/home/blog
|
||||
4. **Contact:** https://www.pozo.dev/home/contact-us
|
||||
5. **Sign In:** https://www.pozo.dev/home/signin
|
||||
|
||||
### Step 23: Verify SEO on production
|
||||
|
||||
For EACH page:
|
||||
1. Open URL
|
||||
2. Press `Ctrl + U` (View Source)
|
||||
3. Verify ALL SEO tags are present:
|
||||
- ✅ Title tag
|
||||
- ✅ Meta description
|
||||
- ✅ OG tags
|
||||
- ✅ Twitter tags
|
||||
- ✅ Canonical URL
|
||||
|
||||
### Step 24: Test with SEO tools
|
||||
|
||||
1. **Google Rich Results Test:**
|
||||
- Go to: https://search.google.com/test/rich-results
|
||||
- Enter your page URL
|
||||
- Check for errors
|
||||
|
||||
2. **Meta Tags Preview:**
|
||||
- Go to: https://metatags.io/
|
||||
- Enter your page URL
|
||||
- See how it looks on social media
|
||||
|
||||
3. **PageSpeed Insights:**
|
||||
- Go to: https://pagespeed.web.dev/
|
||||
- Enter your page URL
|
||||
- Check performance and SEO score
|
||||
|
||||
---
|
||||
|
||||
## 🐛 TROUBLESHOOTING
|
||||
|
||||
### Issue 1: Site shows blank page or 404
|
||||
|
||||
**Solution:**
|
||||
```powershell
|
||||
# On server, check iisnode logs
|
||||
type C:\inetpub\wwwroot\pozo.dev\iisnode\*.log
|
||||
```
|
||||
|
||||
Check for errors, usually:
|
||||
- Missing `node_modules` → Run `npm install`
|
||||
- Wrong `web.config` → Replace with correct version
|
||||
|
||||
### Issue 2: SEO tags not showing
|
||||
|
||||
**Solution:**
|
||||
1. Clear browser cache (Ctrl + Shift + Delete)
|
||||
2. Check if server is actually running Node.js:
|
||||
```powershell
|
||||
Get-Process -Name node
|
||||
```
|
||||
3. Check iisnode is processing requests:
|
||||
- Check `iisnode\*.log` files for activity
|
||||
|
||||
### Issue 3: Assets (CSS/JS) not loading
|
||||
|
||||
**Solution:**
|
||||
1. Check browser console (F12)
|
||||
2. Verify paths in HTML match actual file locations
|
||||
3. Check IIS MIME types for `.js`, `.css`, `.woff`, `.woff2`
|
||||
|
||||
### Issue 4: Server.js not running
|
||||
|
||||
**Solution:**
|
||||
1. Check `web.config` has correct handler
|
||||
2. Verify iisnode is installed
|
||||
3. Check Node.js is installed on server: `node --version`
|
||||
4. Restart App Pool
|
||||
|
||||
---
|
||||
|
||||
## 📝 QUICK REFERENCE COMMANDS
|
||||
|
||||
### Local Development:
|
||||
```powershell
|
||||
# Build project
|
||||
npm run convert-jsx-to-html
|
||||
|
||||
# Test locally
|
||||
cd dist
|
||||
node server.js
|
||||
|
||||
# Stop server
|
||||
Get-Process -Name node | Stop-Process -Force
|
||||
```
|
||||
|
||||
### On Server:
|
||||
```powershell
|
||||
# Install dependencies
|
||||
npm install express axios
|
||||
|
||||
# Restart IIS
|
||||
iisreset
|
||||
|
||||
# Check node processes
|
||||
Get-Process -Name node
|
||||
|
||||
# View logs
|
||||
type C:\inetpub\wwwroot\pozo.dev\iisnode\*.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 CHECKLIST BEFORE DEPLOYMENT
|
||||
|
||||
- [ ] Local build completed without errors
|
||||
- [ ] Local server tested and SEO verified
|
||||
- [ ] All pages show correct titles and meta tags locally
|
||||
- [ ] `dist/server.js` exists
|
||||
- [ ] `dist/server/seo-middleware.js` exists
|
||||
- [ ] `dist/web.config` exists
|
||||
- [ ] Backed up old production files
|
||||
- [ ] iisnode installed on server
|
||||
- [ ] URL Rewrite module installed on server
|
||||
- [ ] Node.js installed on server
|
||||
- [ ] `npm install` run on server
|
||||
- [ ] Permissions set correctly
|
||||
- [ ] Application pool restarted
|
||||
- [ ] Production site tested
|
||||
- [ ] SEO tags verified on production
|
||||
|
||||
---
|
||||
|
||||
## ✨ SUCCESS CRITERIA
|
||||
|
||||
Your deployment is successful when:
|
||||
|
||||
1. ✅ All pages load without errors
|
||||
2. ✅ Every page has unique, correct title in browser tab
|
||||
3. ✅ Page source (`Ctrl+U`) shows all SEO meta tags
|
||||
4. ✅ Google Rich Results Test shows no errors
|
||||
5. ✅ Social media preview tools show correct title, description, and image
|
||||
6. ✅ Assets (images, CSS, JS) load properly
|
||||
7. ✅ No console errors in browser (F12)
|
||||
|
||||
---
|
||||
|
||||
## 🆘 SUPPORT
|
||||
|
||||
If you face any issues:
|
||||
|
||||
1. Check the TROUBLESHOOTING section above
|
||||
2. Check server logs: `C:\inetpub\wwwroot\pozo.dev\iisnode\*.log`
|
||||
3. Check browser console (F12) for errors
|
||||
4. Verify all files uploaded correctly
|
||||
5. Confirm Node.js and dependencies installed on server
|
||||
|
||||
---
|
||||
|
||||
**Created:** 2025-11-04
|
||||
**Version:** 1.0
|
||||
**Project:** POZO - Retail ERP & POS
|
||||
**Tech Stack:** React + Vite + Node.js + Express + IIS + iisnode
|
||||
|
||||
---
|
||||
|
||||
**நீ இந்த guide-ஐ படி படியா follow பண்ணா, 100% guarantee SEO work ஆகும்! 🚀**
|
||||
|
||||
**Oru step-um miss பண்ணாதே! எல்லாம் சரியா வரும்! 💪**
|
||||
|
||||
|
|
@ -1,215 +0,0 @@
|
|||
# Git Push Instructions
|
||||
|
||||
## ✅ Git Repository Setup Complete!
|
||||
|
||||
Your code has been committed locally and is ready to push to the remote repository.
|
||||
|
||||
---
|
||||
|
||||
## 📝 What's Been Done:
|
||||
|
||||
1. ✅ Git initialized in project folder
|
||||
2. ✅ Remote added: `http://192.168.1.62:3000/sridhar.r/PozoApp.git`
|
||||
3. ✅ `.gitignore` updated to exclude:
|
||||
- `node_modules/`
|
||||
- `dist/`
|
||||
- Backup folders
|
||||
- `.zip` files
|
||||
4. ✅ All source files committed (890 files, 176,095 insertions)
|
||||
5. ⏳ **Push pending** (requires authentication)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 To Complete the Push:
|
||||
|
||||
### Option 1: Push with Manual Authentication (RECOMMENDED)
|
||||
|
||||
Open PowerShell in project folder and run:
|
||||
|
||||
```powershell
|
||||
git push -u origin master
|
||||
```
|
||||
|
||||
Git will prompt for:
|
||||
- **Username:** (your Git username)
|
||||
- **Password:** (your Git password or token)
|
||||
|
||||
---
|
||||
|
||||
### Option 2: Push with Credentials in URL
|
||||
|
||||
If Option 1 doesn't work, use this format:
|
||||
|
||||
```powershell
|
||||
git push http://USERNAME:PASSWORD@192.168.1.62:3000/sridhar.r/PozoApp.git master
|
||||
```
|
||||
|
||||
**Replace:**
|
||||
- `USERNAME` with your Git username
|
||||
- `PASSWORD` with your Git password
|
||||
|
||||
**Example:**
|
||||
```powershell
|
||||
git push http://sridhar:mypassword123@192.168.1.62:3000/sridhar.r/PozoApp.git master
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Option 3: Configure Git Credential Helper
|
||||
|
||||
To avoid entering credentials every time:
|
||||
|
||||
```powershell
|
||||
# Store credentials
|
||||
git config --global credential.helper store
|
||||
|
||||
# Then push (will ask once, then remember)
|
||||
git push -u origin master
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 What Was Committed:
|
||||
|
||||
### ✅ Source Files:
|
||||
- `src/` - All React components and pages
|
||||
- `public/` - Static assets
|
||||
- `scripts/` - Build and SEO scripts
|
||||
- `server/` - Node.js server code
|
||||
|
||||
### ✅ Configuration Files:
|
||||
- `package.json` & `package-lock.json`
|
||||
- `vite.config.js`
|
||||
- `index.html`
|
||||
- `.gitignore`
|
||||
- `.eslintrc.cjs`
|
||||
|
||||
### ✅ Helper Scripts:
|
||||
- `BUILD-PROJECT.bat`
|
||||
- `START-SERVER.bat`
|
||||
- `STOP-SERVER.bat`
|
||||
- `SIMPLE-BUILD.bat`
|
||||
- `QUICK-START.bat`
|
||||
|
||||
### ✅ Documentation:
|
||||
- `DEPLOYMENT-GUIDE.md`
|
||||
- `BAT-FILES-GUIDE.md`
|
||||
|
||||
### ❌ NOT Committed (as intended):
|
||||
- `node_modules/` (too large, regenerate with `npm install`)
|
||||
- `dist/` (build output, regenerate with build)
|
||||
- Backup folders
|
||||
- `.zip` files
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Verify Push Success:
|
||||
|
||||
After pushing, verify by:
|
||||
|
||||
1. **Check remote repository:**
|
||||
- Go to: http://192.168.1.62:3000/sridhar.r/PozoApp
|
||||
- Verify files are visible
|
||||
|
||||
2. **Check commit:**
|
||||
- Look for commit message: "Add POZO with dynamic SEO, BAT helper scripts, and deployment guides"
|
||||
- Verify file count matches (890 files)
|
||||
|
||||
3. **Clone test (optional):**
|
||||
```powershell
|
||||
# In a different folder
|
||||
git clone http://192.168.1.62:3000/sridhar.r/PozoApp.git test-clone
|
||||
cd test-clone
|
||||
npm install
|
||||
npm run convert-jsx-to-html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Future Git Commands:
|
||||
|
||||
### After Making Changes:
|
||||
```powershell
|
||||
# Check status
|
||||
git status
|
||||
|
||||
# Add all changes
|
||||
git add .
|
||||
|
||||
# Commit with message
|
||||
git commit -m "Your commit message here"
|
||||
|
||||
# Push to remote
|
||||
git push origin master
|
||||
```
|
||||
|
||||
### Pull Latest Changes:
|
||||
```powershell
|
||||
git pull origin master
|
||||
```
|
||||
|
||||
### Create New Branch:
|
||||
```powershell
|
||||
# Create and switch to new branch
|
||||
git checkout -b feature/new-feature
|
||||
|
||||
# Push branch to remote
|
||||
git push -u origin feature/new-feature
|
||||
```
|
||||
|
||||
### Check Branch:
|
||||
```powershell
|
||||
git branch
|
||||
```
|
||||
|
||||
### Switch Branch:
|
||||
```powershell
|
||||
git checkout master
|
||||
git checkout feature/other-branch
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Troubleshooting:
|
||||
|
||||
### Issue: "fatal: could not read Username"
|
||||
**Solution:** Use Option 2 with credentials in URL
|
||||
|
||||
### Issue: "Permission denied"
|
||||
**Solution:** Check username/password are correct
|
||||
|
||||
### Issue: "Repository not found"
|
||||
**Solution:** Verify URL: http://192.168.1.62:3000/sridhar.r/PozoApp.git
|
||||
|
||||
### Issue: "Push rejected"
|
||||
**Solution:** Pull first, then push:
|
||||
```powershell
|
||||
git pull origin master --rebase
|
||||
git push origin master
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📌 Quick Reference:
|
||||
|
||||
| Action | Command |
|
||||
|--------|---------|
|
||||
| Check status | `git status` |
|
||||
| Add all files | `git add .` |
|
||||
| Commit | `git commit -m "message"` |
|
||||
| Push | `git push origin master` |
|
||||
| Pull | `git pull origin master` |
|
||||
| View log | `git log --oneline` |
|
||||
| View remote | `git remote -v` |
|
||||
|
||||
---
|
||||
|
||||
**Created:** 2025-11-04
|
||||
**Commit ID:** 96de8a1
|
||||
**Files:** 890 files, 176,095 lines
|
||||
**Remote:** http://192.168.1.62:3000/sridhar.r/PozoApp.git
|
||||
|
||||
---
|
||||
|
||||
**Now run the push command in PowerShell to complete the Git setup!** 🚀
|
||||
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
# POZO Keyword Strategy & Content Clusters
|
||||
|
||||
## 🎯 PRIMARY KEYWORD RESEARCH
|
||||
|
||||
### High-Volume Commercial Keywords (India Market)
|
||||
1. **POS software India** - 2,400 searches/month
|
||||
2. **Retail billing software** - 1,900 searches/month
|
||||
3. **Point of sale system India** - 1,600 searches/month
|
||||
4. **GST billing software** - 3,200 searches/month
|
||||
5. **Inventory management software** - 2,100 searches/month
|
||||
6. **Multi store management software** - 880 searches/month
|
||||
7. **Weighing scale POS** - 720 searches/month
|
||||
8. **Kirana store software** - 590 searches/month
|
||||
9. **Retail ERP software** - 1,300 searches/month
|
||||
10. **Store management system** - 1,100 searches/month
|
||||
|
||||
### Long-tail Keywords (Lower Competition)
|
||||
- "Best POS software for small retail stores India"
|
||||
- "GST compliant billing software for kirana stores"
|
||||
- "Multi-location retail management system"
|
||||
- "Weighing scale integrated POS system"
|
||||
- "Offline billing software for retail stores"
|
||||
|
||||
## 📊 CONTENT CLUSTERS BY INTENT
|
||||
|
||||
### Cluster 1: Commercial Intent (Buy Now)
|
||||
**Primary Page:** `/pricing`
|
||||
**Keywords:** POS software price, retail billing software cost, GST software pricing
|
||||
**Supporting Content:**
|
||||
- "POS Software Pricing Guide 2025"
|
||||
- "ROI Calculator for Retail Software"
|
||||
- "Compare POS Software Plans"
|
||||
|
||||
### Cluster 2: Solution-Focused (Problem Solving)
|
||||
**Primary Pages:** `/solutions/*`
|
||||
**Keywords:** retail billing solution, inventory management, multi-store ERP
|
||||
**Supporting Content:**
|
||||
- "How to Choose POS Software for Your Store"
|
||||
- "Retail Inventory Management Best Practices"
|
||||
- "Multi-Store Chain Management Guide"
|
||||
|
||||
### Cluster 3: Industry-Specific (Targeted)
|
||||
**Primary Pages:** Industry landing pages
|
||||
**Keywords:** kirana store software, supermarket POS, pharmacy billing
|
||||
**Supporting Content:**
|
||||
- "Complete Guide to Kirana Store Digitization"
|
||||
- "Supermarket Management Software Features"
|
||||
- "Pharmacy Billing Software Requirements"
|
||||
|
||||
### Cluster 4: Educational (Top Funnel)
|
||||
**Primary Page:** `/blog`
|
||||
**Keywords:** what is POS system, retail management tips, GST compliance
|
||||
**Supporting Content:**
|
||||
- "What is a POS System? Complete Guide"
|
||||
- "GST Compliance for Retail Businesses"
|
||||
- "Digital Transformation for Small Retailers"
|
||||
|
||||
## 🏪 LOCAL SEO OPTIMIZATION (Indian Market)
|
||||
|
||||
### Location-Based Keywords
|
||||
- "POS software Bangalore"
|
||||
- "Retail billing software Mumbai"
|
||||
- "GST software Delhi"
|
||||
- "Kirana software Chennai"
|
||||
- "POS system Hyderabad"
|
||||
- "Retail ERP Pune"
|
||||
|
||||
### Regional Language Considerations
|
||||
- Hindi: "दुकान सॉफ्टवेयर", "बिलिंग सिस्टम"
|
||||
- Tamil: "கடை மென்பொருள்", "பில்லிங் சிஸ்டம்"
|
||||
- Telugu: "దుకాణం సాఫ్ట్వేర్", "బిల్లింగ్ సిస్టమ్"
|
||||
|
||||
### Local Business Schema (Already Implemented)
|
||||
- Address: Hosur, Tamil Nadu
|
||||
- Service Area: All India
|
||||
- Local phone: +91-7324000011
|
||||
- Business hours: 9 AM - 6 PM IST
|
||||
|
||||
## 🔍 COMPETITOR ANALYSIS
|
||||
|
||||
### Direct Competitors
|
||||
1. **Marg ERP** - Strong in North India, focuses on GST compliance
|
||||
2. **Gofrugal** - Tamil Nadu based, strong regional presence
|
||||
3. **Vyapar** - Mobile-first approach, small business focus
|
||||
4. **Busy Accounting** - Established player, comprehensive features
|
||||
5. **RetailEasy** - Chain store specialist
|
||||
|
||||
### Competitor Keyword Gaps (Opportunities)
|
||||
- "Weighing scale POS integration" - Low competition
|
||||
- "Offline retail billing software" - Moderate competition
|
||||
- "Multi-language POS system India" - Low competition
|
||||
- "Cloud-based kirana store software" - Growing trend
|
||||
- "WhatsApp billing integration" - Emerging keyword
|
||||
|
||||
### Content Gap Analysis
|
||||
**Missing Content Opportunities:**
|
||||
- Video tutorials for POS setup
|
||||
- Industry-specific case studies
|
||||
- Integration guides (weighing scales, printers)
|
||||
- Comparison charts with competitors
|
||||
- ROI calculators and tools
|
||||
|
||||
## 📈 KEYWORD MAPPING TO EXISTING PAGES
|
||||
|
||||
### Homepage (/)
|
||||
- **Primary:** "POS software India", "Retail ERP software"
|
||||
- **Secondary:** "GST billing software", "Multi-store management"
|
||||
|
||||
### Pricing (/pricing)
|
||||
- **Primary:** "POS software price India", "Retail billing cost"
|
||||
- **Secondary:** "GST software pricing", "ERP software plans"
|
||||
|
||||
### Solutions (/solutions)
|
||||
- **Primary:** "Retail management solution", "Store automation"
|
||||
- **Secondary:** "Inventory management system", "Multi-location retail"
|
||||
|
||||
### Contact (/contact-us)
|
||||
- **Primary:** "POS software demo", "Retail software consultation"
|
||||
- **Secondary:** "GST billing support", "ERP implementation"
|
||||
|
||||
## 🎯 CONTENT CALENDAR (Next 3 Months)
|
||||
|
||||
### Month 1: Foundation Content
|
||||
- "Complete Guide to POS Systems for Indian Retailers"
|
||||
- "GST Compliance Checklist for Small Businesses"
|
||||
- "Kirana Store Digitization: Step-by-Step Guide"
|
||||
- "ROI of Retail Management Software"
|
||||
|
||||
### Month 2: Solution-Focused Content
|
||||
- "Multi-Store Chain Management Best Practices"
|
||||
- "Weighing Scale Integration with POS Systems"
|
||||
- "Offline vs Online Billing: What's Best for Your Store"
|
||||
- "Inventory Management for Seasonal Businesses"
|
||||
|
||||
### Month 3: Industry-Specific Content
|
||||
- "Pharmacy Billing Software Requirements in India"
|
||||
- "Supermarket POS System Features Comparison"
|
||||
- "Textile Store Management Software Guide"
|
||||
- "Electronics Retail ERP Implementation"
|
||||
|
||||
## 📊 SUCCESS METRICS
|
||||
|
||||
### Keyword Ranking Targets (6 months)
|
||||
- Top 3 for "POS software India"
|
||||
- Top 5 for "GST billing software"
|
||||
- Top 10 for "Retail ERP software"
|
||||
- Page 1 for 15+ long-tail keywords
|
||||
|
||||
### Traffic Goals
|
||||
- 50% increase in organic traffic
|
||||
- 200+ new keyword rankings
|
||||
- 30% improvement in click-through rates
|
||||
- 25% increase in demo requests from organic
|
||||
|
||||
## 🔧 IMPLEMENTATION PRIORITY
|
||||
|
||||
### Phase 1 (Immediate - Week 1-2)
|
||||
1. Optimize existing page titles with primary keywords
|
||||
2. Update meta descriptions with local keywords
|
||||
3. Add location-based content to key pages
|
||||
4. Implement FAQ schema markup
|
||||
|
||||
### Phase 2 (Short-term - Week 3-6)
|
||||
1. Create pillar content for each cluster
|
||||
2. Build internal linking between related pages
|
||||
3. Add city-specific landing pages
|
||||
4. Optimize images with keyword-rich alt tags
|
||||
|
||||
### Phase 3 (Long-term - Month 2-3)
|
||||
1. Develop comprehensive blog content
|
||||
2. Create comparison and guide pages
|
||||
3. Build industry-specific case studies
|
||||
4. Implement advanced schema markup
|
||||
|
|
@ -1,246 +0,0 @@
|
|||
# POZO Local SEO Strategy for Indian Market
|
||||
|
||||
## 🇮🇳 INDIAN MARKET OPTIMIZATION
|
||||
|
||||
### Geographic Targeting
|
||||
**Primary Markets:**
|
||||
- Bangalore (Tech hub, startup ecosystem)
|
||||
- Mumbai (Commercial capital, retail density)
|
||||
- Delhi NCR (Government, enterprise market)
|
||||
- Chennai (Manufacturing, Tamil Nadu base)
|
||||
- Hyderabad (IT sector, growing retail)
|
||||
- Pune (Industrial, SME concentration)
|
||||
|
||||
**Secondary Markets:**
|
||||
- Ahmedabad, Surat (Gujarat business community)
|
||||
- Kolkata (Traditional retail, wholesale)
|
||||
- Kochi, Coimbatore (Kerala, Tamil Nadu expansion)
|
||||
- Jaipur, Lucknow (North India penetration)
|
||||
|
||||
### Local Keywords by City
|
||||
```
|
||||
Bangalore: "POS software Bangalore", "retail ERP Bengaluru"
|
||||
Mumbai: "billing software Mumbai", "GST software Maharashtra"
|
||||
Delhi: "POS system Delhi", "retail management NCR"
|
||||
Chennai: "kirana software Chennai", "billing system Tamil Nadu"
|
||||
Hyderabad: "POS software Hyderabad", "retail ERP Telangana"
|
||||
```
|
||||
|
||||
## 🏪 BUSINESS DIRECTORY SUBMISSIONS
|
||||
|
||||
### Tier 1 Directories (High Authority)
|
||||
- [ ] Google Business Profile (Primary listing)
|
||||
- [ ] Bing Places for Business
|
||||
- [ ] JustDial (India's largest local directory)
|
||||
- [ ] Sulekha (Local business platform)
|
||||
- [ ] IndiaMART (B2B marketplace)
|
||||
|
||||
### Tier 2 Directories (Industry Specific)
|
||||
- [ ] Software Suggest (Software directory)
|
||||
- [ ] Capterra India (Business software)
|
||||
- [ ] GetApp India (App marketplace)
|
||||
- [ ] Software Advice India
|
||||
- [ ] TrustRadius (B2B reviews)
|
||||
|
||||
### Tier 3 Directories (Local/Regional)
|
||||
- [ ] Yellow Pages India
|
||||
- [ ] Foursquare Business
|
||||
- [ ] Yelp India
|
||||
- [ ] Facebook Business Page
|
||||
- [ ] LinkedIn Company Page
|
||||
|
||||
## 📱 GOOGLE BUSINESS PROFILE OPTIMIZATION
|
||||
|
||||
### Business Information
|
||||
```
|
||||
Business Name: POZO - Retail ERP & POS Software
|
||||
Category: Software Company, Business Consultant
|
||||
Address: No 51 Step Colony, Dharga, Hosur, Tamil Nadu 635126
|
||||
Phone: +91-7324000011
|
||||
Website: https://www.pozo.app
|
||||
Hours: Monday-Friday 9:00 AM - 6:00 PM IST
|
||||
```
|
||||
|
||||
### Business Description (500 chars max)
|
||||
"POZO provides GST-compliant POS & ERP software for Indian retailers. Features include weighing scale integration, multi-store management, offline billing, and inventory control. Trusted by 1000+ kirana stores, supermarkets, and retail chains across India. Free demo available."
|
||||
|
||||
### Services to Add
|
||||
- POS Software Development
|
||||
- Retail ERP Implementation
|
||||
- GST Billing Solutions
|
||||
- Inventory Management Systems
|
||||
- Multi-Store Chain Software
|
||||
- Weighing Scale Integration
|
||||
- Business Consultation
|
||||
- Software Training & Support
|
||||
|
||||
### Posts Strategy (Weekly)
|
||||
- Product updates and new features
|
||||
- Customer success stories
|
||||
- Industry tips and insights
|
||||
- Local market news and trends
|
||||
- Demo scheduling and offers
|
||||
|
||||
## 🎯 LOCAL CONTENT STRATEGY
|
||||
|
||||
### City-Specific Landing Pages
|
||||
Create dedicated pages for major cities:
|
||||
|
||||
**Template Structure:**
|
||||
```
|
||||
/pos-software-[city-name]
|
||||
- Hero: "Best POS Software in [City]"
|
||||
- Local market insights
|
||||
- City-specific case studies
|
||||
- Local customer testimonials
|
||||
- Regional contact information
|
||||
- Local business hours/support
|
||||
```
|
||||
|
||||
**Example Pages to Create:**
|
||||
- `/pos-software-bangalore`
|
||||
- `/retail-erp-mumbai`
|
||||
- `/gst-billing-delhi`
|
||||
- `/kirana-software-chennai`
|
||||
|
||||
### Regional Content Topics
|
||||
- "Top 10 Retail Markets in Bangalore for POS Implementation"
|
||||
- "GST Compliance Guide for Mumbai Retailers"
|
||||
- "Delhi's Retail Digitization: Market Analysis"
|
||||
- "Chennai Kirana Stores: Digital Transformation Case Study"
|
||||
|
||||
## 🗣️ MULTILINGUAL SEO
|
||||
|
||||
### Primary Languages
|
||||
1. **English** (Primary, pan-India)
|
||||
2. **Hindi** (North India, 40% population)
|
||||
3. **Tamil** (Tamil Nadu, company base)
|
||||
4. **Telugu** (Andhra Pradesh, Telangana)
|
||||
5. **Marathi** (Maharashtra market)
|
||||
|
||||
### Keyword Translation Strategy
|
||||
```
|
||||
English: "POS software"
|
||||
Hindi: "पीओएस सॉफ्टवेयर", "दुकान सॉफ्टवेयर"
|
||||
Tamil: "POS மென்பொருள்", "கடை மென்பொருள்"
|
||||
Telugu: "POS సాఫ్ట్వేర్", "దుకాణం సాఫ్ట్వేర్"
|
||||
Marathi: "POS सॉफ्टवेअर", "दुकान सॉफ्टवेअर"
|
||||
```
|
||||
|
||||
### Implementation Plan
|
||||
- Phase 1: Hindi content for key pages
|
||||
- Phase 2: Tamil content (local market)
|
||||
- Phase 3: Telugu and Marathi expansion
|
||||
|
||||
## 📊 LOCAL SCHEMA MARKUP (Already Implemented)
|
||||
|
||||
### Organization Schema ✅
|
||||
```json
|
||||
{
|
||||
"@type": "Organization",
|
||||
"name": "POZO",
|
||||
"address": {
|
||||
"streetAddress": "No 51 Step Colony, Dharga",
|
||||
"addressLocality": "Hosur",
|
||||
"addressRegion": "Tamil Nadu",
|
||||
"postalCode": "635126",
|
||||
"addressCountry": "IN"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### LocalBusiness Schema ✅
|
||||
```json
|
||||
{
|
||||
"@type": "LocalBusiness",
|
||||
"geo": {
|
||||
"latitude": 12.1265,
|
||||
"longitude": 77.8309
|
||||
},
|
||||
"serviceArea": {
|
||||
"@type": "Country",
|
||||
"name": "India"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🔗 LOCAL LINK BUILDING STRATEGY
|
||||
|
||||
### Industry Associations
|
||||
- [ ] Retailers Association of India (RAI)
|
||||
- [ ] Confederation of Indian Industry (CII)
|
||||
- [ ] Federation of Indian Chambers of Commerce (FICCI)
|
||||
- [ ] All India Retailers' Association (AIRA)
|
||||
|
||||
### Local Business Partnerships
|
||||
- [ ] Chamber of Commerce (Hosur, Bangalore)
|
||||
- [ ] Local business associations
|
||||
- [ ] Retail trade associations
|
||||
- [ ] Technology parks and incubators
|
||||
|
||||
### Content Partnerships
|
||||
- [ ] Guest posts on retail industry blogs
|
||||
- [ ] Interviews with local business publications
|
||||
- [ ] Webinars with industry associations
|
||||
- [ ] Case studies with local businesses
|
||||
|
||||
## 📈 LOCAL SEO METRICS & TRACKING
|
||||
|
||||
### Google Business Profile KPIs
|
||||
- Profile views and clicks
|
||||
- Direction requests
|
||||
- Phone calls from listing
|
||||
- Website visits from GMB
|
||||
- Customer reviews and ratings
|
||||
|
||||
### Local Search Rankings
|
||||
- Track rankings for city + keyword combinations
|
||||
- Monitor "near me" search visibility
|
||||
- Local pack appearances
|
||||
- Voice search optimization
|
||||
|
||||
### Geographic Traffic Analysis
|
||||
- Organic traffic by city/state
|
||||
- Conversion rates by location
|
||||
- Demo requests by geography
|
||||
- Customer acquisition by region
|
||||
|
||||
## 🎯 IMPLEMENTATION TIMELINE
|
||||
|
||||
### Week 1-2: Foundation
|
||||
- [ ] Set up Google Business Profile
|
||||
- [ ] Submit to top 5 directories
|
||||
- [ ] Optimize existing pages with local keywords
|
||||
- [ ] Add location-based content
|
||||
|
||||
### Week 3-4: Content Creation
|
||||
- [ ] Create city-specific landing pages
|
||||
- [ ] Develop local market content
|
||||
- [ ] Add customer testimonials by region
|
||||
- [ ] Implement local schema markup
|
||||
|
||||
### Month 2: Expansion
|
||||
- [ ] Submit to remaining directories
|
||||
- [ ] Build local partnerships
|
||||
- [ ] Create multilingual content
|
||||
- [ ] Launch local PR campaigns
|
||||
|
||||
### Month 3: Optimization
|
||||
- [ ] Monitor and adjust local rankings
|
||||
- [ ] Expand to secondary markets
|
||||
- [ ] Build local backlinks
|
||||
- [ ] Optimize based on performance data
|
||||
|
||||
## 🏆 SUCCESS METRICS (6 Months)
|
||||
|
||||
### Local Visibility Goals
|
||||
- Top 3 local pack for "POS software" in 5 major cities
|
||||
- 50+ positive Google reviews
|
||||
- 200% increase in local organic traffic
|
||||
- 30% of total traffic from local searches
|
||||
|
||||
### Business Impact
|
||||
- 40% increase in demo requests from local searches
|
||||
- 25% improvement in local conversion rates
|
||||
- Expansion to 3 new geographic markets
|
||||
- 100+ local business partnerships
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
@echo off
|
||||
REM ======================================
|
||||
REM POZO - Quick Start (Use Existing Build)
|
||||
REM ======================================
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Quick Start Server
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM Check if dist exists
|
||||
if not exist "dist\server.js" (
|
||||
echo [ERROR] No build found!
|
||||
echo Please run BUILD-PROJECT.bat first.
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Check if dependencies are installed
|
||||
if not exist "node_modules\express" (
|
||||
echo [INFO] Installing server dependencies...
|
||||
call npm install express axios
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] Failed to install dependencies!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
echo Starting server...
|
||||
echo.
|
||||
echo Server URLs:
|
||||
echo http://localhost:3000/home/
|
||||
echo http://localhost:3000/home/pricing-pozoapp
|
||||
echo http://localhost:3000/home/blog
|
||||
echo.
|
||||
echo Press Ctrl+C to stop
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
cd dist
|
||||
node server.js
|
||||
|
||||
echo.
|
||||
echo Server stopped.
|
||||
pause
|
||||
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
# POZO SEO Implementation Checklist
|
||||
|
||||
## ✅ COMPLETED (100% Ready)
|
||||
|
||||
### 1. Technical SEO Foundation
|
||||
- ✅ SSL certificate (HTTPS)
|
||||
- ✅ XML sitemap (/sitemap.xml)
|
||||
- ✅ Robots.txt with proper rules
|
||||
- ✅ Canonical URLs
|
||||
- ✅ 301 redirects (.htaccess)
|
||||
- ✅ Mobile-first responsive design
|
||||
- ✅ Core Web Vitals optimization
|
||||
- ✅ Structured data (Organization schema)
|
||||
|
||||
### 2. Analytics & Tracking
|
||||
- ✅ Google Analytics 4 (G-2QV0HX3QD6)
|
||||
- ✅ Google Tag Manager (GTM-W2NQZPX)
|
||||
- ✅ Microsoft Clarity tracking
|
||||
- ✅ Bing Webmaster verification
|
||||
- ✅ Conversion tracking setup
|
||||
|
||||
### 3. On-Page SEO
|
||||
- ✅ Optimized title tags (≤60 chars)
|
||||
- ✅ Meta descriptions (≤155 chars)
|
||||
- ✅ Open Graph tags
|
||||
- ✅ Twitter Card tags
|
||||
- ✅ Keywords meta tags
|
||||
- ✅ Favicon and branding
|
||||
|
||||
### 4. Content Architecture
|
||||
- ✅ Clear site navigation
|
||||
- ✅ Solutions pages for different industries
|
||||
- ✅ Blog section for content marketing
|
||||
- ✅ FAQ pages (general + pricing)
|
||||
- ✅ Contact and demo pages
|
||||
|
||||
## 📋 NEXT STEPS (Manual Tasks)
|
||||
|
||||
### 1. Submit to Search Engines
|
||||
- [ ] Submit sitemap to Google Search Console
|
||||
- [ ] Submit sitemap to Bing Webmaster Tools
|
||||
- [ ] Verify domain ownership
|
||||
|
||||
### 2. Business Listings
|
||||
- [ ] Create Google Business Profile
|
||||
- [ ] Submit to business directories
|
||||
- [ ] Add to industry-specific listings
|
||||
|
||||
### 3. Content Optimization
|
||||
- [ ] Audit H1/H2/H3 hierarchy on all pages
|
||||
- [ ] Add alt tags to all images
|
||||
- [ ] Implement internal linking strategy
|
||||
- [ ] Create keyword-optimized blog content
|
||||
|
||||
### 4. Performance Monitoring
|
||||
- [ ] Monitor Core Web Vitals
|
||||
- [ ] Check for 404 errors
|
||||
- [ ] Monitor backlinks
|
||||
- [ ] Track keyword rankings
|
||||
|
||||
## 🎯 KEYWORD TARGETS
|
||||
|
||||
### Primary Keywords
|
||||
- POS software India
|
||||
- Retail billing software
|
||||
- Inventory management system
|
||||
- GST billing software
|
||||
- Multi-store ERP
|
||||
|
||||
### Secondary Keywords
|
||||
- Weighing scale POS
|
||||
- Kirana store software
|
||||
- Retail management system
|
||||
- Point of sale system
|
||||
- Store billing software
|
||||
|
||||
## 📊 TRACKING SETUP
|
||||
|
||||
### Google Analytics Goals
|
||||
- Demo form submissions
|
||||
- Contact form fills
|
||||
- Pricing page visits
|
||||
- Blog engagement
|
||||
- Download conversions
|
||||
|
||||
### Search Console Monitoring
|
||||
- Organic traffic growth
|
||||
- Keyword performance
|
||||
- Click-through rates
|
||||
- Index coverage
|
||||
- Mobile usability
|
||||
|
||||
## 🔧 TECHNICAL NOTES
|
||||
|
||||
All SEO elements are implemented without affecting the existing design. The site is now 100% ready for search engine optimization with proper technical foundation, tracking, and structured data in place.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
@echo off
|
||||
echo 🚀 Starting PozoApp Development Server...
|
||||
echo.
|
||||
|
||||
REM Set development environment
|
||||
set NODE_ENV=development
|
||||
set VITE_API_URL=http://localhost:3001
|
||||
set VITE_BASE_URL=/
|
||||
|
||||
echo ✅ Development environment set
|
||||
echo.
|
||||
|
||||
echo 🌐 Starting dev server at http://localhost:5173
|
||||
echo.
|
||||
echo 🔧 Features available:
|
||||
echo - Hot reload
|
||||
echo - API proxy working
|
||||
echo - All components loaded
|
||||
echo - No CORS errors
|
||||
echo.
|
||||
echo Press Ctrl+C to stop server
|
||||
echo.
|
||||
|
||||
npm run dev
|
||||
|
|
@ -1,52 +1,33 @@
|
|||
@echo off
|
||||
REM ======================================
|
||||
REM POZO - Start Local Development Server
|
||||
REM ======================================
|
||||
|
||||
echo 🚀 Starting POZO Local Server...
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Starting POZO Server...
|
||||
echo ========================================
|
||||
|
||||
REM Set development environment
|
||||
set NODE_ENV=development
|
||||
set ENV_MAIN_BASE_URL=http://localhost:3000
|
||||
set ENV_BASE_URL=/
|
||||
set ENV_API_URL=https://api.pozo.dev/pozo-common-api
|
||||
set ENV_API_URL_TOKEN=https://api.pozo.dev/JwtToken
|
||||
set ENV_API_URL_RETAIL=https://api.pozo.dev/pozo-retail-api
|
||||
|
||||
echo ✅ Environment variables set for development
|
||||
echo.
|
||||
|
||||
REM Check if dist folder exists
|
||||
if not exist "dist" (
|
||||
echo [ERROR] dist folder not found!
|
||||
echo Please run BUILD-PROJECT.bat first to create the dist folder.
|
||||
echo.
|
||||
if not exist dist (
|
||||
echo ❌ dist folder not found!
|
||||
echo Please run BUILD-WITH-SEO.bat first
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Check if server.js exists
|
||||
if not exist "dist\server.js" (
|
||||
echo [ERROR] dist\server.js not found!
|
||||
echo Please run BUILD-PROJECT.bat first.
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Navigate to dist folder
|
||||
cd dist
|
||||
|
||||
echo Starting Node.js server on port 3000...
|
||||
echo.
|
||||
echo Server will be available at:
|
||||
echo http://localhost:3000/home/
|
||||
echo http://localhost:3000/home/pricing-pozoapp
|
||||
echo http://localhost:3000/home/blog
|
||||
echo.
|
||||
echo Press Ctrl+C to stop the server
|
||||
echo ========================================
|
||||
echo 📁 dist folder found
|
||||
echo.
|
||||
|
||||
REM Start the server
|
||||
node server.js
|
||||
|
||||
REM If server stops unexpectedly
|
||||
echo 🌐 Starting server on http://localhost:3000
|
||||
echo Press Ctrl+C to stop the server
|
||||
echo.
|
||||
echo [INFO] Server stopped.
|
||||
echo.
|
||||
pause
|
||||
npm run server
|
||||
|
||||
pause
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
@echo off
|
||||
echo 🔍 Testing SEO Meta Data...
|
||||
echo.
|
||||
|
||||
REM Start local server for testing
|
||||
echo Starting local server...
|
||||
start /B npm run server
|
||||
|
||||
REM Wait for server to start
|
||||
timeout /t 5 /nobreak > nul
|
||||
|
||||
echo.
|
||||
echo 🌐 Testing URLs:
|
||||
echo.
|
||||
|
||||
REM Test each route
|
||||
echo Testing Homepage...
|
||||
curl -s -I http://localhost:3000/ | findstr "200 OK"
|
||||
|
||||
echo Testing Blog...
|
||||
curl -s -I http://localhost:3000/blog | findstr "200 OK"
|
||||
|
||||
echo Testing Pricing...
|
||||
curl -s -I http://localhost:3000/pricing | findstr "200 OK"
|
||||
|
||||
echo Testing Contact...
|
||||
curl -s -I http://localhost:3000/contact-us | findstr "200 OK"
|
||||
|
||||
echo Testing Signin...
|
||||
curl -s -I http://localhost:3000/signin | findstr "200 OK"
|
||||
|
||||
echo.
|
||||
echo ✅ SEO test completed!
|
||||
echo.
|
||||
echo Open browser and check:
|
||||
echo - http://localhost:3000/
|
||||
echo - http://localhost:3000/blog
|
||||
echo - http://localhost:3000/pricing
|
||||
echo - http://localhost:3000/contact-us
|
||||
echo - http://localhost:3000/signin
|
||||
echo.
|
||||
echo Right-click → View Source to verify meta tags
|
||||
echo.
|
||||
pause
|
||||
|
||||
REM Stop server
|
||||
taskkill /f /im node.exe > nul 2>&1
|
||||
20
deploy.sh
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "🚀 Starting SEO-optimized build..."
|
||||
|
||||
# Clean previous build
|
||||
rm -rf dist/
|
||||
|
||||
# Build the application
|
||||
npm run build
|
||||
|
||||
# Prerender pages and apply SEO meta
|
||||
npm run convert-jsx-to-html
|
||||
|
||||
echo "✅ Build completed with SEO optimization!"
|
||||
echo "📁 Deploy the 'dist' folder to your server"
|
||||
echo "🔍 Don't forget to:"
|
||||
echo " 1. Replace G-XXXXXXXXXX with your Google Analytics ID"
|
||||
echo " 2. Replace YOUR_GSC_VERIFICATION_CODE with your Search Console code"
|
||||
echo " 3. Submit sitemap to Google Search Console"
|
||||
echo " 4. Test with PageSpeed Insights"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
RewriteEngine On
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule . /index.html [L]
|
||||
|
||||
# Security headers
|
||||
Header always set X-Content-Type-Options nosniff
|
||||
Header always set X-Frame-Options DENY
|
||||
Header always set X-XSS-Protection "1; mode=block"
|
||||
Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
||||
|
||||
# Cache control
|
||||
<filesMatch "\.(css|js|png|jpg|jpeg|gif|ico|svg)$">
|
||||
Header set Cache-Control "max-age=31536000, public"
|
||||
</filesMatch>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<users>
|
||||
<user>YOUR_BING_VERIFICATION_CODE</user>
|
||||
</users>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# Ads.txt file for PozoApp
|
||||
# This file is used to authorize digital ad sellers
|
||||
# Add your ad network entries here when you start monetizing
|
||||
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
|
@ -1 +0,0 @@
|
|||
import{u as e,a as s,j as a,I as o}from"./index-35672308.js";import{r as n}from"./vendor-c65bce76.js";import"./ui-2d515953.js";import"./utils-faf49605.js";import"./editor-e98c3426.js";const i=i=>{var c,r;const l=e(),t=s(),[d,m]=n.useState(new Set),[h,x]=n.useState([]),p=null==(c=null==t?void 0:t.state)?void 0:c.scrollToId,j=null==(r=null==t?void 0:t.state)?void 0:r.from,u=e=>{const s=new Set(d);s.has(e)?s.delete(e):s.add(e),m(s)};n.useEffect((()=>{if(i.data&&i.data.length>0){const e=i.data.filter((e=>"faqQuestion"===e.FieldName)).map(((e,s)=>({question:e.FieldValue||`Question ${s+1}`,answer:e.FieldAddData||"No answer provided."})));x(e)}else x([])}),[i.data]);return a.jsxs("div",{className:"app",children:[a.jsx("header",{className:"header",children:a.jsxs("div",{className:"header-content",children:[a.jsxs("h1",{className:"logo",children:[a.jsx(o,{size:16,onClick:()=>{l(j,{state:{scrollToId:p}})}}),"Pozo Help Center"]}),a.jsxs("div",{className:"header-actions",children:[a.jsx("button",{className:"pozo-tv-btn",children:a.jsx("span",{className:"tv-icon",children:" "})}),a.jsx("button",{className:"help-btn",children:"?"}),a.jsx("button",{className:"menu-btn",children:"⋮"})]})]})}),a.jsx("main",{className:"main",children:a.jsxs("div",{className:"faqcontainer",children:[a.jsx("h1",{className:"main-title",children:"Frequently Asked Questions"}),a.jsxs("section",{className:"info-cards",children:[a.jsxs("div",{className:"info-card",children:[a.jsx("h3",{children:"What is Pozo?"}),a.jsx("p",{children:"Built with and for creatives, Pozo is the only AI filmmaking tool custom-designed for PozoApp DeepMind's most advanced models..."})]}),a.jsxs("div",{className:"info-card",children:[a.jsx("h3",{children:"Available exclusively for PozoApp AI subscribers"}),a.jsx("p",{children:"Pozo is available exclusively for PozoApp AI Pro and Ultra subscribers..."})]}),a.jsxs("div",{className:"info-card",children:[a.jsx("h3",{children:"Best experienced on Desktop, Chromium browsers"}),a.jsx("p",{children:"Pozo is currently best experienced on desktop with a Chromium-based browser..."})]})]}),a.jsx("section",{className:"commonfaq-section",children:h.map(((e,s)=>a.jsxs("div",{className:"commonfaq-item "+(d.has(s)?"queActive":""),children:[a.jsxs("button",{className:"commonfaq-question",onClick:()=>u(s),"aria-expanded":d.has(s),children:[a.jsx("span",{style:{textAlign:"left",flexGrow:1},children:e.question}),a.jsx("span",{className:"commonfaq-icon "+(d.has(s)?"open":""),children:d.has(s)?"−":"+"})]}),a.jsx("div",{className:"commonfaq-answer "+(d.has(s)?"open":""),children:a.jsx("div",{className:"commonfaq-content",children:"string"==typeof e.answer?a.jsx("p",{children:e.answer}):e.answer})})]},s)))}),a.jsx("section",{className:"more-section",children:a.jsxs("div",{className:"commonfaq-item "+(d.has("more")?"queActive":""),children:[a.jsxs("button",{className:"commonfaq-question",onClick:()=>u("more"),"aria-expanded":d.has("more"),children:[a.jsx("span",{children:"More"}),a.jsx("span",{className:"commonfaq-icon "+(d.has("more")?"open":""),children:d.has("more")?"−":"+"})]}),a.jsx("div",{className:"commonfaq-answer "+(d.has("more")?"open":""),children:a.jsx("div",{className:"commonfaq-content",children:a.jsx("p",{children:"For additional support and resources, please check our documentation or contact our support team."})})})]})}),a.jsx("footer",{className:"CommonfaqFooter",children:a.jsx("p",{children:"Thank you for trying Pozo!"})})]})})]})};export{i as default};
|
||||
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 180 KiB |
|
|
@ -1 +0,0 @@
|
|||
.DigitalSection-Master{background-color:#fff;width:100%;font-family:NeueMontreal}.DigitalSection-Master .titleDigital{font-size:5vw;font-family:NeueMontreal;line-height:1.1;margin:4rem 1.5rem;font-weight:500}@media (max-width: 600px){.DigitalSection-Master .titleDigital{font-size:8vw;margin:2rem 1.5rem 4rem}}.DigitalSection-Master .digitalTypesMain{display:flex;align-items:center;justify-content:space-between;padding:0 5px;border:1px dashed #a9a9a9;margin:2rem 0 5rem}.DigitalSection-Master .ditalCard{width:25%;height:230px;padding:1rem;border-right:1px dashed #a9a9a9;display:flex;align-items:flex-start;flex-direction:column}.DigitalSection-Master .ditalCard div{height:80px}.DigitalSection-Master .ditalCard img{margin:2rem 0;width:55px}.DigitalSection-Master .ditalCard span{font-size:18px;font-family:NeueMontreal;color:#000;font-weight:400}.DigitalSection-Master .ditalCard p{font-size:14px;font-family:NeueMontreal;color:#1e1e1e;font-weight:400}@media (max-width: 768px){.digitalTypesMain{display:grid!important;grid-template-columns:1fr 1fr}.ditalCard{width:100%!important;height:max-content!important}.ditalCard div{height:max-content!important}}
|
||||
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 229 KiB |
|
|
@ -1 +0,0 @@
|
|||
import{g as e,S as s,j as a,G as r}from"./index-35672308.js";import{r as o}from"./vendor-c65bce76.js";import"./ui-2d515953.js";import"./utils-faf49605.js";import"./editor-e98c3426.js";e.registerPlugin(s);const i=[{question:"Free trial available in PozoApps?",answer:"Yes, PozoApps provides a free trial period for all apps so you can explore features before subscribing."},{question:"Can I use PozoApps on multiple devices?",answer:"Absolutely! You can access your apps from desktop, tablet, or mobile seamlessly."},{question:"Is my data secure?",answer:"We use enterprise-grade security and encryption to ensure your data is always protected."},{question:"Can I cancel anytime?",answer:"Yes, you can cancel your subscription anytime without hidden charges."},{question:"Free trial available in PozoApps?",answer:"Yes, PozoApps provides a free trial period for all apps so you can explore features before subscribing."},{question:"Can I use PozoApps on multiple devices?",answer:"Absolutely! You can access your apps from desktop, tablet, or mobile seamlessly."},{question:"Is my data secure?",answer:"We use enterprise-grade security and encryption to ensure your data is always protected."},{question:"Can I cancel anytime?",answer:"Yes, you can cancel your subscription anytime without hidden charges."}],n=()=>{const[n,t]=o.useState(null),l=o.useRef(null),c=o.useRef([]);return o.useEffect((()=>(e.fromTo(l.current,{opacity:0,x:-100,scale:.8},{opacity:1,x:0,scale:1,duration:.8,ease:"power2.out",scrollTrigger:{trigger:l.current,start:"top 80%",toggleActions:"play none none reverse"}}),c.current.forEach(((s,a)=>{s&&e.fromTo(s,{opacity:0,y:50,x:30},{opacity:1,y:0,x:0,duration:.6,delay:.1*a,ease:"power2.out",scrollTrigger:{trigger:s,start:"top 85%",toggleActions:"play none none reverse"}})})),()=>{s.getAll().forEach((e=>e.kill()))})),[]),a.jsxs("div",{className:"FaqSection-Master",children:[a.jsx("div",{className:"FaqSectionImage",children:a.jsx("img",{src:"/assets/Faq-38eabc1e.webp",alt:"FAQ Illustration"})}),a.jsxs("div",{className:"QueAnsMain",children:[a.jsx(r,{animationType:"splitReveal",delay:.3,duration:3,bidirectional:!0,children:a.jsx("p",{children:"Quick Answers"})}),i.map(((e,s)=>a.jsxs("div",{className:"QueAns",ref:e=>c.current[s]=e,children:[a.jsxs("div",{className:"FaqQue",onClick:()=>(e=>{t(n===e?null:e)})(s),children:[a.jsx("div",{children:e.question}),a.jsx("span",{children:n===s?"−":"+"})]}),a.jsx("div",{className:"FaqAns "+(n===s?"open":""),children:a.jsx("p",{children:e.answer})})]},s)))]})]})};export{n as default};
|
||||
|
|
@ -1 +0,0 @@
|
|||
.FaqSection-Master{width:100%;font-family:NeueMontreal;padding:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:99vh}@media (max-width: 768px){.FaqSection-Master{flex-direction:column;padding:2rem 1rem}}.FaqSection-Master .FaqSectionImage{width:45%;height:100%}@media (max-width: 768px){.FaqSection-Master .FaqSectionImage{display:none}}.FaqSection-Master .FaqSectionImage img{width:100%;height:100%}.FaqSection-Master .QueAnsMain{width:55%;height:100%;font-family:NeueMontreal;padding:0 1rem;overflow:auto}@media (max-width: 768px){.FaqSection-Master .QueAnsMain{width:100%;padding:0}}.FaqSection-Master .QueAnsMain p{font-size:4.5vw;font-weight:500;font-family:NeueMontreal}@media (max-width: 768px){.FaqSection-Master .QueAnsMain p{font-size:8vw}}.FaqSection-Master .QueAns{width:100%;font-family:NeueMontreal;border-bottom:2px dashed #bababa}.FaqSection-Master .FaqQue{display:flex;align-items:center;cursor:pointer;justify-content:space-between}.FaqSection-Master .FaqQue div{font-size:18px;font-family:NeueMontreal;font-weight:400}.FaqSection-Master .FaqQue span{font-size:35px;font-family:NeueMontreal;font-weight:300;transition:transform .3s ease}.FaqSection-Master .FaqAns{max-height:0;font-family:NeueMontreal;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;opacity:0}.FaqSection-Master .FaqAns p{font-size:22px;font-weight:400;font-family:NeueMontreal;line-height:1.4;padding:0 0 1rem}.FaqSection-Master .FaqAns.open{max-height:200px;font-family:NeueMontreal;opacity:1}
|
||||
|
Before Width: | Height: | Size: 367 KiB |
|
|
@ -1 +0,0 @@
|
|||
.Creators-Master{width:100%;height:100vh;background-image:url(/assets/Creators-8c2d28e9.webp);background-repeat:no-repeat;background-size:cover;background-position:top;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:2rem 1.5rem;color:#fff;gap:2rem;font-family:NeueMontreal}@media (max-width: 500px){.Creators-Master{height:60vh}}.Creators-Master div{font-size:5vw;line-height:1.1;font-weight:400;font-family:NeueMontreal}@media (max-width: 500px){.Creators-Master div{font-size:8vw}}.Creators-Master p{font-size:15px;letter-spacing:.2px;line-height:1.1;font-weight:400;font-family:NeueMontreal}.Creators-Master .Insiders-btn{background:#ffffff;color:#000;border:none;border-radius:2rem;padding:6px 6px 6px 16px;font-weight:400;display:flex;align-items:center;gap:2.5rem;cursor:pointer;transition:all .2s ease;font-family:NeueMontreal;font-size:16px}.Creators-Master .Insiders-btn .icon-container{position:relative;background-color:#000;height:35px;width:35px;border-radius:50px;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.Creators-Master .Insiders-btn:hover .icon-container{transform:scale(.9)}.Creators-Master .Insiders-btn .icon-main,.Creators-Master .Insiders-btn .icon-hover{position:absolute;color:#fff;font-size:16px;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.Creators-Master .Insiders-btn .icon-main{transform:translate(0)}.Creators-Master .Insiders-btn .icon-hover{transform:translate(-35px,35px)}.Creators-Master .Insiders-btn:hover .icon-main{transform:translate(35px,-35px)}.Creators-Master .Insiders-btn:hover .icon-hover{transform:translate(0)}
|
||||
|
|
@ -1 +0,0 @@
|
|||
import{g as e,S as r,d as s,u as t,j as o,H as n}from"./index-35672308.js";import{r as i}from"./vendor-c65bce76.js";import"./ui-2d515953.js";import"./utils-faf49605.js";import"./editor-e98c3426.js";e.registerPlugin(r,s);const a=()=>{const a=t(),l=i.useRef(null),c=i.useRef(null),u=i.useRef(null);return i.useEffect((()=>{const t=s.create(l.current,{type:"words,lines",linesClass:"split-line"});return e.set(l.current,{opacity:1}),e.fromTo(t.lines,{yPercent:100,opacity:0},{yPercent:0,opacity:1,duration:1,stagger:.1,ease:"expo.out",delay:.2,scrollTrigger:{trigger:l.current,start:"top 80%",toggleActions:"play none none reverse"}}),e.fromTo(c.current,{opacity:0,y:30},{opacity:1,y:0,duration:1.2,delay:.3,ease:"expo.out",scrollTrigger:{trigger:c.current,start:"top 85%",toggleActions:"play none none reverse"}}),e.fromTo(u.current,{opacity:0,y:30,scale:.9},{opacity:1,y:0,scale:1,duration:1.2,delay:.6,ease:"expo.out",scrollTrigger:{trigger:u.current,start:"top 85%",toggleActions:"play none none reverse"}}),()=>{r.getAll().forEach((e=>e.kill()))}}),[]),o.jsxs("div",{className:"Creators-Master",children:[o.jsxs("div",{ref:l,children:["Smarter, Simpler, and ",o.jsx("br",{}),"Personalized. Partner with us ",o.jsx("br",{}),"and we will help transform your Business operations efficiently"]}),o.jsx("p",{ref:c,children:"Streamline your business with AI-powered solutions"}),o.jsxs("button",{className:"Insiders-btn",ref:u,onClick:()=>a("/signin"),children:["Experience Now",o.jsxs("div",{className:"icon-container",children:[o.jsx(n,{className:"icon-main"}),o.jsx(n,{className:"icon-hover"})]})]})]})};export{a as default};
|
||||
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
|
@ -1 +0,0 @@
|
|||
.Offering-Master{width:100%;background-color:#fff;font-family:NeueMontreal}.Offering-Master .offerheader{font-size:16px;display:flex;align-items:center;margin:1.3rem 1.5rem;font-weight:400;font-family:NeueMontreal}.Offering-Master .offerContent{font-size:5vw;font-weight:500;line-height:1.1;font-family:NeueMontreal;margin:0 1.5rem}@media (max-width: 600px){.Offering-Master .offerContent{font-size:6.5vw}}.Offering-Master .slider{width:100%;height:80vh;margin:3rem 0;overflow:hidden;position:relative}@media (max-width: 600px){.Offering-Master .slider{height:max-content}}.Offering-Master .slide-track{display:flex;width:calc(200% + 2rem);animation:scroll 20s linear infinite}.Offering-Master .slide{flex:0 0 auto;width:390px;height:62vh;margin-right:1rem;border-radius:12px;font-family:NeueMontreal;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:1rem;color:#fff;background-size:cover;background-position:center}.Offering-Master .offeringCard1{background-image:url(/assets/InventoryManagement-69af7202.webp)}.Offering-Master .offeringCard2{background-image:url(/assets/HealthcareManagement-b8916dc7.webp)}.Offering-Master .offeringCard3{background-image:url(/assets/BillingPOS-7b8a9c73.webp)}.Offering-Master .offeringCard4{background-image:url(/assets/Accounting-6907fea3.webp)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 1rem))}}.Offering-Master .headContent{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:NeueMontreal;border-bottom:1px solid #fff;padding-bottom:12px}.Offering-Master .offertype{display:flex;align-items:center;gap:6px;font-family:NeueMontreal}.Offering-Master .offertype p{font-size:60px;font-weight:500;line-height:1.2;font-family:NeueMontreal}.Offering-Master .offertype div{font-size:18px;font-weight:400;line-height:1.2;font-family:NeueMontreal}.Offering-Master .offerIconImg img{width:30px}.Offering-Master .BottomContent{font-size:14px;line-height:1.4;font-family:NeueMontreal;margin-top:auto;letter-spacing:.5px}@media (max-width: 768px){.Offering-Master .slide{width:300px;height:50vh}.Offering-Master .slide-track{width:calc(1000% + 1rem);animation:scroll 12s linear infinite}}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<svg width="128" height="33" viewBox="0 0 128 33" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0.555 0.499998H10.355C12.0817 0.499998 13.575 0.826665 14.835 1.48C16.095 2.11 17.04 2.99667 17.67 4.14C18.3233 5.28333 18.65 6.60167 18.65 8.095C18.65 9.565 18.3233 10.8833 17.67 12.05C17.04 13.1933 16.095 14.0917 14.835 14.745C13.575 15.375 12.0817 15.69 10.355 15.69H5.175V25H0.555V0.499998ZM10.145 11.805C11.0083 11.805 11.7317 11.6417 12.315 11.315C12.8983 10.965 13.3183 10.51 13.575 9.95C13.855 9.39 13.995 8.77167 13.995 8.095C13.995 7.02167 13.6683 6.135 13.015 5.435C12.385 4.735 11.4283 4.385 10.145 4.385H5.175V11.805H10.145ZM26.8704 25.28C25.097 25.28 23.5104 24.8833 22.1104 24.09C20.7104 23.2967 19.6137 22.2117 18.8204 20.835C18.027 19.4583 17.6304 17.9067 17.6304 16.18C17.6304 14.4533 18.027 12.9017 18.8204 11.525C19.6137 10.1483 20.7104 9.06333 22.1104 8.27C23.5104 7.47667 25.097 7.08 26.8704 7.08C28.6204 7.08 30.1954 7.47667 31.5954 8.27C32.9954 9.06333 34.092 10.1483 34.8854 11.525C35.6787 12.9017 36.0754 14.4533 36.0754 16.18C36.0754 17.9067 35.6787 19.4583 34.8854 20.835C34.092 22.2117 32.9954 23.2967 31.5954 24.09C30.1954 24.8833 28.6204 25.28 26.8704 25.28ZM26.8704 21.57C27.827 21.57 28.667 21.3483 29.3904 20.905C30.137 20.4383 30.7087 19.7967 31.1054 18.98C31.5254 18.1633 31.7354 17.23 31.7354 16.18C31.7354 15.13 31.5254 14.1967 31.1054 13.38C30.7087 12.5633 30.137 11.9333 29.3904 11.49C28.6437 11.0233 27.8037 10.79 26.8704 10.79C25.9137 10.79 25.062 11.0233 24.3154 11.49C23.5687 11.9333 22.9854 12.5633 22.5654 13.38C22.1687 14.1967 21.9704 15.13 21.9704 16.18C21.9704 17.23 22.1687 18.1633 22.5654 18.98C22.9854 19.7967 23.5687 20.4383 24.3154 20.905C25.062 21.3483 25.9137 21.57 26.8704 21.57ZM35.8314 21.395L45.5614 10.965H36.3914V7.36H50.4614V10.965L40.8364 21.395H50.9864V25H35.8314V21.395ZM59.9604 25.28C58.1871 25.28 56.6004 24.8833 55.2004 24.09C53.8004 23.2967 52.7037 22.2117 51.9104 20.835C51.1171 19.4583 50.7204 17.9067 50.7204 16.18C50.7204 14.4533 51.1171 12.9017 51.9104 11.525C52.7037 10.1483 53.8004 9.06333 55.2004 8.27C56.6004 7.47667 58.1871 7.08 59.9604 7.08C61.7104 7.08 63.2854 7.47667 64.6854 8.27C66.0854 9.06333 67.1821 10.1483 67.9754 11.525C68.7687 12.9017 69.1654 14.4533 69.1654 16.18C69.1654 17.9067 68.7687 19.4583 67.9754 20.835C67.1821 22.2117 66.0854 23.2967 64.6854 24.09C63.2854 24.8833 61.7104 25.28 59.9604 25.28ZM59.9604 21.57C60.9171 21.57 61.7571 21.3483 62.4804 20.905C63.2271 20.4383 63.7987 19.7967 64.1954 18.98C64.6154 18.1633 64.8254 17.23 64.8254 16.18C64.8254 15.13 64.6154 14.1967 64.1954 13.38C63.7987 12.5633 63.2271 11.9333 62.4804 11.49C61.7337 11.0233 60.8937 10.79 59.9604 10.79C59.0037 10.79 58.1521 11.0233 57.4054 11.49C56.6587 11.9333 56.0754 12.5633 55.6554 13.38C55.2587 14.1967 55.0604 15.13 55.0604 16.18C55.0604 17.23 55.2587 18.1633 55.6554 18.98C56.0754 19.7967 56.6587 20.4383 57.4054 20.905C58.1521 21.3483 59.0037 21.57 59.9604 21.57ZM77.053 0.499998H81.393L90.808 25H86.048L79.223 6.415L72.398 25H67.603L77.053 0.499998ZM73.133 15.375H85.313L85.628 19.295H72.818L73.133 15.375ZM91.1153 7.36H95.4203V9.495C95.957 8.77167 96.692 8.18833 97.6253 7.745C98.582 7.30167 99.6086 7.08 100.705 7.08C102.385 7.08 103.844 7.465 105.08 8.235C106.317 9.005 107.262 10.0783 107.915 11.455C108.569 12.8317 108.895 14.4067 108.895 16.18C108.895 17.9533 108.569 19.5283 107.915 20.905C107.262 22.2817 106.317 23.355 105.08 24.125C103.867 24.895 102.432 25.28 100.775 25.28C99.6553 25.28 98.6053 25.0583 97.6253 24.615C96.6686 24.1483 95.9336 23.5417 95.4203 22.795V32.14H91.1153V7.36ZM99.9003 21.57C100.834 21.57 101.65 21.3483 102.35 20.905C103.074 20.4617 103.634 19.8317 104.03 19.015C104.427 18.1983 104.625 17.2533 104.625 16.18C104.625 14.5467 104.194 13.24 103.33 12.26C102.49 11.28 101.347 10.79 99.9003 10.79C98.9436 10.79 98.1036 11.0117 97.3803 11.455C96.6803 11.8983 96.132 12.5283 95.7353 13.345C95.3386 14.1617 95.1403 15.1067 95.1403 16.18C95.1403 17.8133 95.572 19.12 96.4353 20.1C97.2986 21.08 98.4536 21.57 99.9003 21.57ZM110.173 7.36H114.478V9.495C115.014 8.77167 115.749 8.18833 116.683 7.745C117.639 7.30167 118.666 7.08 119.763 7.08C121.443 7.08 122.901 7.465 124.138 8.235C125.374 9.005 126.319 10.0783 126.973 11.455C127.626 12.8317 127.953 14.4067 127.953 16.18C127.953 17.9533 127.626 19.5283 126.973 20.905C126.319 22.2817 125.374 23.355 124.138 24.125C122.924 24.895 121.489 25.28 119.833 25.28C118.713 25.28 117.663 25.0583 116.683 24.615C115.726 24.1483 114.991 23.5417 114.478 22.795V32.14H110.173V7.36ZM118.958 21.57C119.891 21.57 120.708 21.3483 121.408 20.905C122.131 20.4617 122.691 19.8317 123.088 19.015C123.484 18.1983 123.683 17.2533 123.683 16.18C123.683 14.5467 123.251 13.24 122.388 12.26C121.548 11.28 120.404 10.79 118.958 10.79C118.001 10.79 117.161 11.0117 116.438 11.455C115.738 11.8983 115.189 12.5283 114.793 13.345C114.396 14.1617 114.198 15.1067 114.198 16.18C114.198 17.8133 114.629 19.12 115.493 20.1C116.356 21.08 117.511 21.57 118.958 21.57Z" fill="white"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.9 KiB |
|
|
@ -1 +0,0 @@
|
|||
.PozoVideo-Master{width:100%;height:100vh;background-color:#040404;position:relative;padding:1.5rem;font-family:NeueMontreal;color:#fff}.PozoVideo-Master.PozoVideoplaying{height:110vh}@media (max-width: 768px){.PozoVideo-Master.PozoVideoplaying{height:max-content}}@media (max-width: 768px){.PozoVideo-Master{height:60vh}}.PozoVideo-Master .PozoVideoTitle{line-height:1.1}.PozoVideo-Master .PozoVideoTitle p{font-size:2.5vw!important;font-family:NeueMontreal;font-weight:400}@media (max-width: 600px){.PozoVideo-Master .PozoVideoTitle p{font-size:5vw!important}}.PozoVideo-Master .PozoVideoTitle div{font-size:5vw;font-family:NeueMontreal;font-weight:400}@media (max-width: 600px){.PozoVideo-Master .PozoVideoTitle div{font-size:8vw}}.PozoVideo-Master .PozoVideoTitle1{line-height:1.1}.PozoVideo-Master .PozoVideoTitle1 div{font-size:2.5vw;font-family:NeueMontreal;font-weight:400}@media (max-width: 600px){.PozoVideo-Master .PozoVideoTitle1 div{font-size:5vw!important}}.PozoVideo-Master .VideoThumbnail{display:flex;align-items:center;justify-content:center;margin-top:1rem}@media (max-width: 768px){.PozoVideo-Master .VideoThumbnail{margin-top:2rem}}.PozoVideo-Master .VideoThumbnail img{width:350px}.PozoVideo-Master .pozovidePLayer{width:70vw;height:75vh;border-radius:12px;margin-top:1rem}@media (max-width: 768px){.PozoVideo-Master .pozovidePLayer{width:100%;height:100%;margin-bottom:2rem}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
import{g as e,S as r,d as t,j as o}from"./index-35672308.js";import{r as s}from"./vendor-c65bce76.js";import"./ui-2d515953.js";import"./utils-faf49605.js";import"./editor-e98c3426.js";e.registerPlugin(r,t);const n=()=>{const n=s.useRef(null),l=s.useRef(null),p=s.useRef(null),[A,i]=s.useState(!1);return s.useEffect((()=>{const o=t.create(n.current,{type:"words,lines",linesClass:"split-line"});e.set(n.current,{opacity:1}),e.fromTo(o.lines,{yPercent:100,opacity:0},{yPercent:0,opacity:1,duration:1,stagger:.1,ease:"expo.out",delay:.2,scrollTrigger:{trigger:n.current,start:"top 85%",toggleActions:"play none none reverse"}});const s=t.create(l.current,{type:"words,lines",linesClass:"split-line"});return e.set(l.current,{opacity:1}),e.fromTo(s.lines,{yPercent:100,opacity:0},{yPercent:0,opacity:1,duration:1,stagger:.1,ease:"expo.out",delay:.4,scrollTrigger:{trigger:l.current,start:"top 85%",toggleActions:"play none none reverse"}}),e.fromTo(p.current,{opacity:0,scale:.8,y:50},{opacity:1,scale:1,y:0,duration:1.2,delay:.6,ease:"back.out(1.7)",scrollTrigger:{trigger:p.current,start:"top 85%",toggleActions:"play none none reverse"}}),()=>{r.getAll().forEach((e=>e.kill()))}}),[]),o.jsxs("div",{className:"PozoVideo-Master "+(A?"PozoVideoplaying":""),children:[o.jsx("div",{className:"PozoVideoTitle1",ref:n,children:o.jsx("div",{children:"PozoApp"})}),o.jsx("div",{className:"PozoVideoTitle",ref:l,children:o.jsx("div",{children:"What & How"})}),o.jsx("div",{className:"VideoThumbnail",ref:p,children:A?o.jsx("video",{className:"pozovidePLayer",controls:!0,autoPlay:!0,onEnded:()=>{i(!1)},children:o.jsx("source",{src:"/assets/PozoMind-280b6496.mp4",type:"video/mp4"})}):o.jsx("img",{src:"data:image/webp;base64,UklGRnwHAABXRUJQVlA4WAoAAAAQAAAABgIA7wAAQUxQSPUEAAAB8FZrb95s27atEMTgEIRAEIQwOMxgD4OYQcvAZZCNgU8GgSAIgrD+yEfb9PzS8dWImAB8/f/1/3/x8gcBi5p18sTCnnSVT8RTc8uy+xMD+XNuZsmy6YlC1lMDHVleKKcaOZ5RZ0mzkb+d6qSdaXQktq6rnjEOp0jKiUKWzCpkP6O0MwMZOOl0ZLaQtFPljJHriZksqYUH2U/g3ET2IyU7cltJ2ok4dSfvRwupyYVK+gmvZxayHhSyIbslyHK0nOrkeOB0TS9Ush89Tq2k7c1kRX4O+mkSpB1Mp5yUHXU6EtRi2LnVT0El+4E94dht5Jgh6H1j7B8jQdqe2LmfHSUbUtRYAPiRyOVQyb53fmHZaXTNEdxDULhnLe7XkyDtBUPBVskJSSqTwFv/AawzJrxV9CWoZH/BYaEjUQu1N7kxquC9xqavkCDtdVUSRb3Bq96r4O1jcH4BKtlelqU21db6GgqfcE11uj4nZEjqSGcvqgDgt4tAHuT8FB5kTR2guM/Ymnu5BjAFV31GPcbkgVT6iG3xpteAOr08kcO6BqC3Wh+M+RpAJW+5JNOywCjo0Vf38KugBF3zSG/RJ4Hxt8KCi6uzJlJRABho7mh6LWBAOisXFhSXiyW0kguAfsu/UAAD7XUqKSY+Yjv1lw3kerP8OmkvQ3GS3jTL3moPklyLZB+gxUlG0+wDYA8n2Uv6ASgLSf+l6QdodZJN0w/AuJC8/QEA0Ie7/BHgC0Frq3MbvvZWy5B1tTvPuyTdrqhZqfdl9a4AZO6+Dhn39LT6WvFPiOUPAXaLnn8yO9k1+6yT0Qy5L3OQfRLkvnUy6oDkt072UZD9M9kMfwBcq+Dr/6//v/7/+v/r/6//v/7/+v8fUYrdFneSsS7VJOmk9OCTvSSczMFX+qzJ9iv4ap8yTVe+0zXNfg++N6Ykm/n+OcVmXnFOsJnXnNPrF6/6e3JpXCY0t5zXXVPrF688JZb6pULyaua1a175xUKyqvDqJav65XpSCS8fklN2PVpO1Q+459TyAT85tX6A51T8UYCf+Fd4/gHxR4E1p5YP+Mmp+wfUnLIPsJySuJ7kFPrlOpK6XK5klcTFHGldL1bzSuJSrnmF6VITMnu9kCO1NS4Tmlsol5mQ3fUiFfldL1GR4fUCFTk+xZuiIMvV37IqEn3yl8WEXNfqL4kqyPfSn4leBDkvVpc1SLovdxN8/f/1/7eSIx9vGNkSSFVVdsbyDnUXACIHIhsxEwCYOOVP57Yr0PmORgV0jr5jt+iANJKcAaCHJlAp5e4xvMfYACW5YyQ7cGMbR6cBMLYEAgBje0/jAMgoe2rDhg7A2ACgh+QQ2PeGtvamsDZutJUdd+yyQ5cJUHaIKYCB901lySE9GBmt00XYN422Ef6cmNj3dm0N3Rjv+aOqtrLsrKHAnRMeNEDDsTXWEzLqiUrGiK2y5c82JuyoAlA2GDtQWF6wezBMD/chjUopg+CgB0k2oFPgjt2B9xcB0OibIYNwuHFWs7Ix1sK6J/x5hdUBAFZujDWVjD8AduCxUvfg8YrCuvHY3GmppHSFxc5ENhxW2pH5tCcRRfTGtnFHKqGSZN2RTj1S9qOJfQ+Dk2QXAIUtfQY7GgyATZPBFICy4+Sd48YGYBRAbACAsU4GAOKu6fPGxvGMeCjeeGNBWos7Tuv6rzcUr8jrwnIu70Xx/1UAVlA4IGACAADwKgCdASoHAvAAPlEok0ajoqGhIFVY0HAKCWlu4XU+QP4BgABE7873wB/GPwA/QA03PN8qAbZmEbGK8KW8KW8KW8KW8KW8KSL3b+dAX0aITpeMV4Ut4Ut4Ut0MtTOEcPRMOZjFxTVjF4xXhS3hS3hS3hMRNlpoBUP8MLw85cXmffmffmffmetalF6fjrddyhT9ZBbwpbwpbwpbwpbwpbwAo0lCRsYrwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpbwpboWBR2tGWUBp789+RT78z78z78z78z78yykkgYXSczMshuHVy4vM+/M+/M+/M+/Jf48aPAY3T8OrrMd+Z9+Z9+Z9+Z9+Z9uo0ui0HiPsreQtx5y4vM+/M+/M+/M+28xU6ihOH9x5y4vM+/M+/M+/M+3L2nQ+ott4Ut4Ut3+AAP7tNgFd9Qa/y0f//dV//7jUf/+6KMvqQmhKX6gz07HU//9kSPmdOf//ZECfUhNCDM+GE6+oMAC8+oM++jkAcPZToAAAAID6g1b9QZ72BumhPN/7h78+9H/x2+EVYpHoPlZnKYcC1io0NVEX8fzPHS7/2wySgx8rowV8CnsQn8XvQULOn6DR5IKSnPwmkXxkpw5BpmK/KuWJWidufujU6H/p75Ch9k70UKuN/J9CAUduB7g03uAD2cK9gVi7U+EisBx9FI32uKYd66+crwT/Nb1utFrG6/nMZmcjexyvpGUBncvPYoFor+9SE0IM/sap///siK/O5n//+yGgAAAAAA==",alt:"",onClick:()=>{i(!0)},style:{cursor:"pointer",marginTop:"5rem"}})})]})};export{n as default};
|
||||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 473 KiB |
|
Before Width: | Height: | Size: 282 KiB |
|
|
@ -1 +0,0 @@
|
|||
import{u as e,a as i,j as s}from"./index-35672308.js";import{r as n}from"./vendor-c65bce76.js";import"./ui-2d515953.js";import"./utils-faf49605.js";import"./editor-e98c3426.js";const t="/home/",l=({solutionsRef:l,closingSolutions:o})=>{const a=e(),c=i(),[r,d]=n.useState({top:"4rem",left:"40%"}),u=n.useCallback((()=>{const e=document.querySelector('[data-solutions-link="true"]');if(e){const i=e.getBoundingClientRect(),s=window.pageYOffset||document.documentElement.scrollTop;d({top:`${i.bottom+s+4}px`,left:`${i.left}px`})}}),[]);return n.useEffect((()=>{if(o)return;const e=setTimeout(u,10);let i=!1;const s=()=>{i||(window.requestAnimationFrame((()=>{u(),i=!1})),i=!0)};return window.addEventListener("resize",s,{passive:!0}),window.addEventListener("scroll",s,{passive:!0,capture:!0}),()=>{clearTimeout(e),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0)}}),[u,o]),s.jsx("div",{ref:l,className:"solutions-dropdown "+(o?"closing":""),onWheel:e=>e.stopPropagation(),style:{position:"fixed",top:r.top,left:r.left},children:s.jsxs("div",{className:"solutions-list",children:[s.jsx("div",{className:"solution-item "+(c.pathname.includes("retail-billing")?"active":""),onClick:()=>a(`${t}solutions/retail-billing`),children:s.jsx("span",{children:"Retail Billing"})}),s.jsx("div",{className:"solution-item "+(c.pathname.includes("inventory-purchase")?"active":""),onClick:()=>a(`${t}solutions/inventory-purchase`),children:s.jsx("span",{children:"Inventory & Purchase"})}),s.jsx("div",{className:"solution-item "+(c.pathname.includes("weighing-scale-pos")?"active":""),onClick:()=>a(`${t}solutions/weighing-scale-pos`),children:s.jsx("span",{children:"Weighing Scale POS"})}),s.jsx("div",{className:"solution-item "+(c.pathname.includes("multi-store-erp")?"active":""),onClick:()=>a(`${t}solutions/multi-store-erp`),children:s.jsx("span",{children:"Multi-Store ERP"})}),s.jsx("div",{className:"solution-item "+(c.pathname.includes("gst-billing-e-invoice")?"active":""),onClick:()=>a(`${t}solutions/gst-billing-e-invoice`),children:s.jsx("span",{children:"GST Billing & E-Invoice"})}),s.jsx("div",{className:"solution-item "+(c.pathname.includes("offline-billing")?"active":""),onClick:()=>a(`${t}solutions/offline-billing`),children:s.jsx("span",{children:"Offline Billing"})})]})})};export{l as default};
|
||||
|
Before Width: | Height: | Size: 173 KiB |
|
|
@ -1 +0,0 @@
|
|||
import{g as e,S as s,u as n,j as r,F as o,V as t,H as i}from"./index-35672308.js";import{r as a}from"./vendor-c65bce76.js";import"./ui-2d515953.js";import"./utils-faf49605.js";import"./editor-e98c3426.js";e.registerPlugin(s);const l=()=>{const l=n(),c=a.useRef(null),d=a.useRef(null);return a.useEffect((()=>(e.fromTo(c.current,{y:50,x:-30},{opacity:1,y:0,x:0,duration:1.2,ease:"power2.out",scrollTrigger:{trigger:c.current,start:"top 80%",toggleActions:"play none none reverse"}}),e.fromTo(d.current,{opacity:0,y:50,x:30},{opacity:1,y:0,x:0,duration:1.2,delay:.3,ease:"power2.out",scrollTrigger:{trigger:d.current,start:"top 80%",toggleActions:"play none none reverse"}}),()=>{s.getAll().forEach((e=>e.kill()))})),[]),r.jsxs("div",{className:"TrendingApp-Master",children:[r.jsxs("div",{className:"TrendingLeft",children:[r.jsxs("div",{className:"TrendingLeftTitle",ref:c,children:["What you need, right ",r.jsx("br",{}),"when you need it."]}),r.jsxs("div",{className:"FaArrowTrendUp",children:[" ",r.jsx(o,{})," Trending Apps"]}),r.jsxs("div",{className:"trendingAppsBTN",children:[r.jsxs("button",{onClick:()=>window.open("https://www.pozo.dev/home/pozo%20health","_blank"),children:["Save Me (2 ",r.jsx(t,{}),")"," "]}),r.jsxs("button",{onClick:()=>window.open("https://www.pozo.dev/home/boating","_blank"),children:["Boating (2 ",r.jsx(t,{}),")"]}),r.jsxs("button",{onClick:()=>window.open("https://www.pozo.dev/home/restaurant","_blank"),children:["Restaurant (2 ",r.jsx(t,{}),")"," "]}),r.jsxs("button",{onClick:()=>window.open("https://www.pozo.dev/home/pozo%20health","_blank"),children:["Pharmacy (2 ",r.jsx(t,{}),")"," "]})]})]}),r.jsxs("div",{className:"TrendingRight",ref:d,children:[r.jsxs("p",{children:["The right place for all your ",r.jsx("br",{})," care needs."]}),r.jsxs("button",{className:"Trending-btn",onClick:()=>l("/signin"),children:["Experience Now",r.jsxs("div",{className:"icon-container",children:[r.jsx(i,{className:"icon-main"}),r.jsx(i,{className:"icon-hover"})]})]})]})]})};export{l as default};
|
||||