Tenzor - Comprehensive Flutter Utility & UI Toolkit

A comprehensive Flutter toolkit that provides a collection of production-ready UI components, utilities, helpers, and Firebase integrations to accelerate your app development process.

Features

🎨 UI Components

  • Buttons: TenzorButton, TenzorTextButton, TenzorIconButton, TenzorOutlinedButton, TenzorLoadingButton, TenzorFloatingButton
  • Inputs: TenzorTextField, TenzorPasswordField, TenzorEmailField, TenzorSearchField, TenzorNumberField
  • Navigation: TenzorNavigation, TenzorAppBar, TenzorBottomNavigation, TenzorTabBar, TenzorAnimatedNavigator
  • Loaders: TenzorCircularLoader, TenzorLinearLoader, TenzorShimmerLayout
  • Feedback: TenzorAlert, TenzorSnackbar
  • Specialized: TenzorSplash, TenzorChatView, TenzorVideoPlayer

🔥 Firebase Integrations

  • Auth: TenzorAuthService - Complete authentication service
  • Firestore: TenzorFirestoreService - Simplified Firestore operations
  • Storage: TenzorStorageService - Easy cloud storage management

🛠️ Core Utilities

  • Async helpers: Simplified async/await patterns
  • Cache: Built-in caching mechanisms
  • Logging: TenzorLogger - Structured logging
  • Network: TenzorHttpClient - HTTP client wrapper
  • Responsive: TenzorResponsive - Adaptive layouts
  • Validation: TenzorValidator - Form validation utilities
  • Result type: Type-safe error handling
  • Extensions: Color, String, and more extensions

📦 Flexible Imports

Import the entire package or only the components you need:

// Import everything
import 'package:tenzor/tenzor.dart';

// Or import individual components
import 'package:tenzor/tenzor_button.dart';
import 'package:tenzor/tenzor_navigation.dart';
import 'package:tenzor/tenzor_text_field.dart';

Getting Started

Prerequisites

  • Flutter 3.16.0+
  • Dart 3.13.1+

Installation

Add Tenzor to your pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  tenzor: ^0.1.0

Basic Usage

import 'package:flutter/material.dart';
import 'package:tenzor/tenzor.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: TenzorAppBar(title: 'Tenzor Demo'),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              TenzorTextField(
                label: 'Email',
                validator: TenzorValidator.email,
              ),
              const SizedBox(height: 20),
              TenzorButton(
                text: 'Submit',
                onPressed: () {
                  TenzorSnackbar.show(context, 'Form submitted!');
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Firebase Setup (Optional)

To use Firebase features, add Firebase to your project and initialize:

await Firebase.initializeApp();
final auth = TenzorAuthService();
final firestore = TenzorFirestoreService();
final storage = TenzorStorageService();

Example

Check out the example directory for a complete demo application showcasing all Tenzor features.

Additional Information

Issues & Feedback

Please file issues, bugs, or feature requests in our issue tracker.

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

License

This project is licensed under the MIT License - see the LICENSE file for details.