FAQ & Troubleshooting
Frequently Asked Questions
General Questions
Q: Is Devfund free to use?
A: Yes! Devfund is completely free and open-source. There are no usage fees or hidden charges.
Q: Do I need a Devfund account to use components?
A: You need a Devfund profile created at https://devfund.in to display your payment information.
Q: Can I use Devfund with my existing project?
A: Absolutely! Devfund works with any React or Next.js project. Just install and generate a component.
Q: Which React versions are supported?
A: React 16.8+, including React 17 and React 18.
Q: Is Devfund suitable for production?
A: Yes! Devfund components are production-ready with comprehensive error handling, accessibility support, and security features.
Troubleshooting
Installation Issues
Problem: "Command not found: npx devfund"
Solution:
-
Ensure you have Node.js 14+ and npm 6.9+:
bashnode --version # Should be 14+ npm --version # Should be 6.9+ -
Update npm to latest:
bashnpm install -g npm@latest -
Try again:
bashnpx devfund@latest card
Problem: "Tailwind CSS styles not applied"
Solution:
-
Verify Tailwind CSS is installed:
bashnpm list tailwindcss -
Check
tailwind.config.tsincludes your component paths:typescriptcontent: [ "./app/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}", ] -
Ensure
globals.cssis imported in your layout:tsximport '@/app/globals.css'; -
Rebuild:
bashnpm run dev
Problem: "Permission denied" when generating component
Solution:
-
Check directory permissions:
bashls -la components/ -
If needed, fix permissions:
bashchmod 755 components/ -
Or generate to a different location and move the file manually.
Component Issues
Problem: Component shows "Error loading user"
Solution:
Check these things in order:
-
Username exists:
- Go to https://devfund.in/@{username}
- If 404, create a profile first
-
Username spelling:
- Component requires exact username match
- Check for typos and case sensitivity
-
Profile is complete:
- Ensure you've added at least one UPI ID
- Generate and upload QR code
-
Internet connection:
- Check that your device can access the internet
- Try in a different network
-
API status:
- Check if Devfund API is up:
- Visit: https://www.devfund.in/api/profile/dev
Still having issues? Check browser console for detailed error messages.
Problem: Component doesn't render at all
Solution:
-
Check imports:
tsx// Correct import CardPaymentQR from '@/components/devfund/CardPaymentQR'; // Wrong import CardPaymentQR from '../components/devfund/CardPaymentQR'; -
Check file exists:
bashls components/devfund/ -
Verify props:
tsx// Must pass username prop <CardPaymentQR username="yourname" /> // Won't work <CardPaymentQR /> -
Check console for errors:
- Open DevTools (F12)
- Check Console tab for error messages
-
Rebuild project:
bashnpm run dev
Problem: QR code not displaying
Solution:
-
Check QR code exists in profile:
- Go to your profile settings
- Ensure QR code is generated and uploaded
-
Check API response:
- Open DevTools Network tab
- Look for requests to
devfund-rust.vercel.app - Check if
qrCodeImagefield is present
-
Try clearing cache:
bash# Hard refresh in browser Ctrl+Shift+R (Windows/Linux) Cmd+Shift+R (Mac) -
Check if QR code URL is accessible:
- Copy the image URL from API response
- Paste in new browser tab
- Image should load
Problem: Modal won't close
Solution:
-
Check if Escape key works:
- Click inside modal
- Press Escape key
- Should close
-
Check if close button is clickable:
- Click the × button
- Should close modal
-
Check for console errors:
- Open DevTools Console
- Look for JavaScript errors
- Fix any errors found
-
Try clearing browser cache:
bash# Clear cache and cookies for the site
Styling Issues
Problem: Styles look different on production
Solution:
-
Rebuild CSS:
bashnpm run build -
Check Tailwind CSS configuration:
- Ensure content paths are correct
- Include all relevant file patterns
-
Verify no CSS conflicts:
- Check for conflicting CSS classes
- Use CSS specificity to override if needed
-
Check purging settings:
typescript// tailwind.config.ts content: [ "./app/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}", ]
Problem: Component looks misaligned
Solution:
-
Check if container has enough space:
tsx<div className="flex items-center justify-center min-h-screen"> <CardPaymentQR username="yourname" /> </div> -
Check responsive design:
- Test on different screen sizes
- Use
max-w-classes to constrain width
-
Check z-index conflicts:
- Modal uses
z-50, ensure nothing higher - Or update z-index in component
- Modal uses
Problem: Button text overflows
Solution:
-
Reduce text length:
tsx// Component generates: "💛 Support {DisplayName}" // Keep display names short -
Adjust button width: Edit component and change padding:
tsxclassName="px-4 py-2" // Reduce padding
Performance Issues
Problem: Component loads slowly
Solution:
-
Use lazy loading:
tsximport dynamic from 'next/dynamic'; const CardPaymentQR = dynamic( () => import('@/components/devfund/CardPaymentQR') ); -
Enable image optimization:
- QR codes should be optimized
- Use Next.js Image component if modifying
-
Check network:
- Open DevTools Network tab
- See which requests are slow
- Check API latency
-
Reduce components on page:
- Multiple components can affect performance
- Show only when needed
Problem: High network latency
Solution:
-
Check internet connection:
- Run speed test
- Ensure stable connection
-
Check API availability:
- Visit: https://www.devfund.in/health
- If down, wait for recovery
-
Use cached data:
tsxconst cached = localStorage.getItem(`user_${username}`); if (cached) { // Use cached data }
TypeScript Issues
Problem: "Cannot find module" error
Solution:
-
Check import path:
tsx// Correct import CardPaymentQR from '@/components/devfund/CardPaymentQR'; // Wrong import CardPaymentQR from '@/components/CardPaymentQR'; -
Check TypeScript config:
json{ "compilerOptions": { "paths": { "@/*": ["./*"] } } } -
Rebuild TypeScript:
bashnpm run build
Problem: Type errors with props
Solution:
Components are fully typed. If errors appear:
tsx// Types are built-in interface DevfundComponentProps { username: string; // Required string } // Use correctly <CardPaymentQR username="dev" /> // ✅ <CardPaymentQR username={123} /> // ❌ TypeScript error
Accessibility Issues
Problem: Screen reader doesn't announce component
Solution:
-
Verify ARIA labels are present:
- Components include ARIA labels by default
- Check browser accessibility inspector
-
Test with screen reader:
- Use NVDA (Windows), JAWS, or VoiceOver (Mac)
- Navigate with keyboard
- Should announce button and modal
-
Check focus management:
- Tab through component
- Focus should move properly
- Close button should be reachable
API Issues
Problem: "Request timeout" error
Solution:
-
Check internet connection:
bashping devfund-rust.vercel.app -
Check API status: Visit: https://www.devfund.in/api/profile/dev
-
Increase timeout: Edit component and modify timeout value:
tsxsignal: AbortSignal.timeout(20000), // 20 seconds -
Check firewall/VPN:
- Disable VPN if using
- Check corporate firewall
Problem: "Server error" (500 status)
Solution:
This is usually temporary:
-
Wait a few minutes and retry:
- Reload the page
- Try again later
-
Check status page:
- Visit: https://status.devfund.in (if available)
-
Report the issue:
- Contact support with error details
- Include username and timestamp
Problem: "User not found" (404 error)
Solution:
-
Create profile:
- Go to https://devfund.in
- Click "Create your page"
- Fill in all required information
-
Check username:
- Use exact username in component
- Usernames are case-sensitive
-
Verify profile is public:
- Go to your profile
- Ensure it's not in draft mode
Advanced Issues
Problem: Component works locally but not on production
Solution:
-
Check environment variables:
- Ensure
.env.localis set in production - Use
.env.productionfor production-specific vars
- Ensure
-
Verify API access:
- Check if production server can reach API
- Check firewall/CORS settings
-
Clear build cache:
bashrm -rf .next npm run build -
Check Node version:
- Ensure production Node version matches local
- Update if needed
Problem: CORS errors in browser
Solution:
- This shouldn't happen - API has CORS enabled
- If it does:
- Check browser console for exact error
- Try in incognito/private mode
- Clear browser cache
Getting Help
If you can't find a solution:
-
Check console errors:
- Open DevTools (F12)
- Go to Console tab
- Copy full error message
-
Search GitHub issues:
- Visit: https://github.com/icancodefyi/devfund
- Search for similar issues
-
Create an issue:
- Include error message
- Include reproduction steps
- Include your Node/npm version
-
Contact support:
- Email: support@devfund.in (if available)
- Twitter: @devfund_io (if available)
Common Error Messages
| Error | Meaning | Solution |
|---|---|---|
| "Username is required" | Component rendered without username prop | Pass username="yourname" prop |
| "User not found" | Username doesn't exist in Devfund | Create profile at devfund.in |
| "QR code not available" | User profile has no QR code | Generate QR code in profile settings |
| "UPI ID not available" | User profile has no UPI ID added | Add UPI ID in profile settings |
| "Request timeout" | API took too long to respond | Check internet, try again later |
| "Network error" | No internet connection | Check your connection |
| "Invalid response" | API returned unexpected data | Usually temporary, try again |
Performance Benchmarks
Expected performance metrics:
- Initial load: < 1 second (with fast internet)
- Modal open: < 100ms
- API response: < 2 seconds
- Component size: ~5KB (minified)
- Bundle impact: Minimal (lazy loaded by default)
Still Need Help?
Visit our documentation: https://docs.devfund.in
Or create an issue on GitHub: https://github.com/icancodefyi/devfund/issues