Frequently Asked Questions
Common questions and answers about EZ-Console.
General
What is EZ-Console?
EZ-Console is a full-stack framework for building enterprise management systems. It provides backend (Go) and frontend (React) with authentication, authorization, and audit logging built-in.
Is EZ-Console free?
Yes, EZ-Console is open-source under the Apache License 2.0.
What databases are supported?
SQLite (default), MySQL/MariaDB, and PostgreSQL.
Installation
How do I install EZ-Console?
go get github.com/sven-victor/ez-console@latest
See the Installation Guide for details.
What are the prerequisites?
- Go 1.20+
- Node.js 18+
- pnpm
Development
How do I create a new controller?
See Creating Controllers.
How do I add a new page to the frontend?
See Application Shell.
How do I protect routes with authentication?
Use middleware.RequireAuth():
router.GET("/protected",
middleware.RequireAuth(),
controller.ProtectedEndpoint,
)
How do I check user permissions?
Use middleware.RequirePermission():
router.POST("/users",
middleware.RequireAuth(),
middleware.RequirePermission("users:create"),
controller.CreateUser,
)
Configuration
Where is the encryption key used?
The encryption key is used to encrypt sensitive data in the database (passwords, tokens, etc.).
Can I change the encryption key later?
No! Never change the encryption key after initial setup, or all encrypted data will become unrecoverable.
How do I configure the database?
Deployment
How do I deploy to production?
Should I use SQLite in production?
SQLite is fine for small deployments (less than 100 concurrent users). For larger deployments, use MySQL or PostgreSQL.
How do I enable HTTPS?
Use a reverse proxy (Nginx) with Let's Encrypt. See Deployment Strategies.
Security
How are passwords stored?
Passwords are hashed using bcrypt with salt.
How does authentication work?
JWT-based stateless authentication. See Authentication & Authorization.
How do I enable MFA?
See Authentication & Authorization.
Troubleshooting
Server won't start
- Check if port 8080 is available
- Verify encryption key is correct length (8, 16, 24, or 32 bytes)
- Check database connection
Frontend won't connect to backend
- Ensure backend is running on port 8080
- Check Vite proxy configuration
- Verify CORS settings
Database migration failed
- Check database credentials
- Ensure database exists
- Check user permissions
"Invalid auth token" error
- Token may be expired
- Check if user is logged in
- Verify middleware is applied correctly
Performance
How many users can EZ-Console handle?
Depends on your infrastructure. With proper configuration:
- SQLite: 10-100 concurrent users
- MySQL/PostgreSQL: 1000+ concurrent users
- With load balancing: 10,000+ users
How do I improve performance?
- Use connection pooling
- Enable database indexes
- Implement caching (Redis)
- Use CDN for static assets
- See Performance Tuning
Integration
Can I integrate with existing systems?
Yes! EZ-Console can be integrated with:
- OAuth2/OIDC providers
- LDAP/Active Directory
- External APIs
- Custom authentication systems
Can I use EZ-Console as a library?
Yes, import specific packages as needed:
import "github.com/sven-victor/ez-console/pkg/api"
import "github.com/sven-victor/ez-console/pkg/service"
Getting Help
Where can I get help?
- GitHub Discussions
- GitHub Issues
- Check the documentation
How do I report a bug?
Open an issue on GitHub Issues with:
- EZ-Console version
- Go version
- Steps to reproduce
- Expected vs actual behavior
- Error messages/logs
How do I request a feature?
Open a feature request on GitHub Issues or discuss in GitHub Discussions.
Contributing
How can I contribute?
See the Contributing Guide.
Where is the source code?
https://github.com/sven-victor/ez-console
Don't see your question? Ask in GitHub Discussions!