xmodels 0.0.1 copy "xmodels: ^0.0.1" to clipboard
xmodels: ^0.0.1 copied to clipboard

This is a flutter package that help developers to create and develop Mobile, web and desktop apps fast and affectively. By the help of XModel you just have to create class and you have to extend it to [...]

XModel Documentation #

Thumbnail

This is a flutter package that help developers to create and develop Mobile, web and desktop apps fast and affectively. By the help of XModel you just have to create class and you have to extend it to XModel class. It will then give you all the functions that you will need to develop your projects. It is specially developed to work with firebase.

Usage #

  1. Connect your project with firebase as usual.
  2. Initialize firebase App. Now you are good to go.

To create user #

Firstly create class for user.

import 'package:xmodels/xuser.dart';

class Auth extends XUser {
  @override
  ///You can specify the required fields in "fields"  which will takes list of fields. And also make sure to pass id (autoIncrement)..
  Xfields fields = [
     DataType('id', fieldtype: Dtype.autoIncrement),
     DataType('name'),
  ];
}

copied to clipboard
final auth = Auth();
final email = TextEditingController();
final pass = TextEditingController();
final name = TextEditingController();

void signup(){
  auth.createUser(email: email.text,password: pass.text, fieldsExtention: {'name': name.text,})
  ///"fieldsExtention" is where you pass the extra fields that you declared in Auth class in fields.
}
copied to clipboard

Now it will automatically creates collections in firebase for users data and register user in authentication.

##Check if user is already logged in

    StreamBuilder(
        stream: XUser.authStateChanges,
        builder: (context, snapshot) {
          return snapshot.connectionState == ConnectionState.active
              ? snapshot.data != null
                  ? const MyHomePage(title: 'Flutter App.')
                  : const Login()
              : const Loader();
        });
copied to clipboard

User login #


void login(){
  auth.signIn(email: email.text, password: pass.text);
}
copied to clipboard

Get User Data #

final userData = await xCurrentuser();
copied to clipboard

To create new Models #

class Group extends XModel {
  Group() : super('Group');  ///Here you have to pass model name in string. It will be your collection name in Firebase Firestore.

  @override
  Xfields fields = [
    DataType('id', fieldtype: Dtype.autoIncrement),
    DataType('name'),
  ];

  ///fields is where you specify requierd field for this model. And also make sure to pass id (autoIncrement).
}
copied to clipboard

To add data to Model #

final user = Group(); //create object of the class
void add(){
    user.add({'name': 'Codectionary'}) 
    // data must have all the fileds metioned in class fields. If you want to put null as the value of the field, you can simply pass null.
}

copied to clipboard

To delete data from Model #

final user = Group(); //create object of the class
void delete(){
    user.delete('id', data[index].data['id']);
    // field is the key and value is the value. it will compare and it will delete that data which meet the condition.

    //you can check any of your keys and values.
}

copied to clipboard

To Update data of Model #

final user = Group(); //create object of the class
void update(){
    user.update('id', data[index].data['id'], {'name': 'Flutter'});
    // field is the key and value is the value. it will compare and it will update its data with given data.

    //you can check any of your keys and values.
}

copied to clipboard

To Delete All data from Model #

final user = Group(); //create object of the class
void delete(){
    user.deleteAll()
}
copied to clipboard

Get data from models #

final user = Group(); //create object of the class
void getData(){
    user.get(key, value) /// here you have to pass key and value to compare. It will get you only one data which meets the codition.
}
copied to clipboard

Get data array from models #

final user = Group(); //create object of the class
void getData(){
    user.filter() /// this will give you array of the data. you can also compare by passing key and value which are optional.
}
copied to clipboard

Get data Stream #

StreamBuilder builder =  user.xStreambuilder((context, List<XDataModel>? data){
    return Container();
}


//return you a steam builder. 
copied to clipboard

Get automatic generated forms by model #

final user = Group(); //create object of the class
final key = GlobalKey<FormState>();
Form form = user.form(key);
/// youn can get easily form generated by model.
///and you can also get acess to data of the model by 

Map data = user.formValue();
///Now you can easily pass data to add or update.
copied to clipboard

Get Form of existing data to update #

final user = Group(); //create object of the class
final key = GlobalKey<FormState>();
XDataModel? instance; /// this is the existing data.
Form form = user.form(key, instance);
/// youn can get easily form generated by model.
///and you can also get acess to data of the model by 

Map data = user.formValue();
///Now you can easily pass data to add or update.
copied to clipboard

Admin Panel #

The package comes with pre-build admin panel. from it you can easily add, remove and modify Data.

import 'package:xmodels/admin/admin.dart';

Widget adminPanel = Admin(models: [Group()])

/// In models you have to pass the models class that you want to get in admin panel.

copied to clipboard

App Screenshot

Features #

  • Cross plateform
  • Pre-Build Admin panel
  • Easy to use

🚀 About Me #

I'm a software developer.

Authors #

0
likes
100
points
25
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.16 - 2025.03.31

This is a flutter package that help developers to create and develop Mobile, web and desktop apps fast and affectively. By the help of XModel you just have to create class and you have to extend it to XModel class. It will then give you all the functions that you will need to develop your projects. It is specially developed to work with firebase.

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

cloud_firestore, cupertino_icons, firebase_auth, flutter

More

Packages that depend on xmodels