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 Quick Start for prerequisites, encryption key usage, and optional CLI scaffolding.
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 API authentication and permissions work?β
On the standard API router group, routes require a logged-in user by default (the framework registers WithAuthentication on the group). You normally do not add middleware.RequireAuth() per handler for that behavior.
- Public (no login) routes: wrap the group with
middleware.WithoutAuthentication(router.Group(...))so the opt-out middleware runs before the default authentication middleware. See Middleware: public routes. - Stricter than βany logged-in userβ: add
middleware.RequirePermission("resource:action")(orRequireAnyPermission/RequireAllPermissions) on the route or subgroup. See Middleware: permission checks.
JWT, OAuth, LDAP, MFA, and RBAC naming are covered in Authentication & Authorization. Controller registration context: Creating controllers and Core concepts.
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; default API login behavior and public routes are in Middleware.
How do I enable MFA?β
As a user: open Profile Center β Two-Factor Authentication, choose TOTP or E-mail, then follow the wizard (scan the QR code or copy the secret, enter the 6-digit code to verify). See Authentication & Authorization: MFA.
Administrators configure enforcement and related policies under System β Settings (security / MFA options); see Security settings.
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, or the client did not send credentials on a protected route
- For routes meant to be public, confirm they are registered under
middleware.WithoutAuthentication(...)(see Middleware)
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!