A cross-platform Flutter client for authentication and user management via gRPC services.
Rust gRPC service: zs-dima/auth-service-rs Go gRPC service: zs-dima/auth-service
Auth App provides a modern, responsive UI for authentication and user management operations. Built with Flutter, it runs on Android, iOS, Web, Windows, macOS, and Linux.
- JWT authentication
- User management
- User settings & preferences
- Adaptive theming (system/light/dark mode)
- Localization
- Secure storage for credentials
- Environment configuration
- Local storage
- Event Bus notifications
- Test coverage
- Documentation
- Flutter SDK (3.41+)
- Dart SDK (3.8+)
- Running backend service (Rust or Go)
-
Clone the repository:
git clone https://github.com/zs-dima/auth-app.git cd auth-app -
Install dependencies:
flutter pub get
-
Generate code (models, serialization):
dart run build_runner build --delete-conflicting-outputs
-
Configure environment:
Copy and modify the environment files in
config/directory as needed.
# Run on Chrome (Web)
# COOP/COEP headers enable cross-origin isolation (SharedArrayBuffer), so the drift
# database picks an OPFS storage instead of falling back to IndexedDB — same headers
# as production (see firebase.json).
flutter run -d chrome --dart-define-from-file=config/development.env \
--web-header=Cross-Origin-Opener-Policy=same-origin \
--web-header=Cross-Origin-Embedder-Policy=require-corp
# Run on Windows
flutter run -d windows --dart-define-from-file=config/development.env
# Run on connected device
flutter run --dart-define-from-file=config/development.envlib/
├── main.dart # Application entry point
├── _core/ # Core utilities, DI, extensions
├── account/ # Account management
├── authentication/ # Login, logout, JWT handling
├── home/ # Home screen
├── settings/ # App settings
└── users/ # User management
packages/
├── model/ # Data models
├── tool/ # Development tools
└── ui/ # UI components library
Contributions are welcome! Feel free to:
- Report bugs and request features via Issues
- Submit pull requests for improvements
- Suggest and discuss enhancements
This project is licensed under the terms specified in the LICENSE file.