- Create LogsService with VictoriaLogs client integration
- Implement QueryLogs with role-based limits
- Implement StatsQuery for time-series data
- Implement GetFacets for field facets
- Implement TailLogs for real-time streaming
- Implement ExportLogs with format support
- Add query validation and safety checks
- Add role-based rate limiting (default/max limits per role)
- Auto-calculate appropriate time range and step
Closes#12
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Issue #7: Create Auth Store
- Implement Zustand auth store with persistence
- Add login, logout, checkAuth actions
- Store user, token, and authentication state
Issue #8: Create API Client
- Setup Axios instance with interceptors
- Add JWT token to all requests
- Handle 401 errors with automatic logout
- Create auth API client functions
Issue #9: Create Login Page
- Complete login form with validation
- Add loading states and error handling
- Implement form submission with auth store
- Add default credentials hint
Issue #10: Update Protected Route Component
- Integrate with auth store
- Add loading state during auth check
- Implement role-based access control
- Add access denied UI
Additional improvements:
- Update Layout with user info and logout button
- Add useAuth custom hook
Closes#7, #8, #9, #10
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Backend: Go API server with Gin framework
- Frontend: React setup (placeholder)
- ML Service: Python FastAPI skeleton
- Docker Compose: Full stack configuration
- Database: PostgreSQL schema with migrations
- Documentation: Implementation plan and README
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>