Skip to content

Latest commit

 

History

History
214 lines (178 loc) · 7.01 KB

README.md

File metadata and controls

214 lines (178 loc) · 7.01 KB

Database Universe

Ultra Fast, Enjoyable & Cross Platform Database Universe

Pub Version

Database Universe Library for help you save any data in anywhere with high performance speed, easy feature and ready for scala business

Features

  • 🚀 Work On Cross Platform: Mobile, Desktop, Browser, Server Side
  • Good Performance and efficient
  • ❤️ Simple, Easey Powerfull, Can Extend To Scala Bussiness

Information

This Library only update if there ae feature that i want, if you want library with full documentation so it usually makes things easier DEVELOP PROGRAM you just need to buy / donate at Azkadev

Fact

  • This library is very fast and can be created on a business scale

Example Project Use This Library

Demo

📚️ Docs

  1. Documentation
  2. Youtube
  3. Telegram Support Group
  4. Contact Developer (check social media or readme profile github)

🔖️ Features

  1. 📱️ Cross Platform support (Device, Web)
  2. 📜️ Standarization Style Code
  3. ⌨️ Cli (Terminal for help you use this library or create project)
  4. 🔥️ Api (If you developer bot / userbot you can use this library without interact cli just add library and use 🚀️)
  5. 🧩️ Customizable Extension (if you want add extension so you can more speed up on development)
  6. ✨️ Pretty Information (user friendly for newbie)

❔️ Fun Fact

This library 100% use on every my create project (App, Server, Bot, Userbot)

📈️ Proggres

  • 2024-05-11

Guide on how to use this library

Before using this library, make sure you know basic coding And your laptop has the programming language installed dart

📥️ Install Library

  1. Dart
dart pub add database_universe

🚀️ Quick Start

Example Quickstart script minimal for insight you or make you use this library because very simple

// ignore_for_file: unnecessary_brace_in_string_interps
import 'dart:io';
import 'package:database_universe/database_universe.dart';
import 'package:example/schema/database_scheme/chatbot_data_local_database.dart';
import 'package:general_lib/log/log.dart';

void main() async {
  final GeneralLibraryLog generalLibraryLog = GeneralLibraryLog(logOptions: GeneralLibraryLogOptions(textTitle: "", textContext: ""));
  await DatabaseUniverse.initialize();
  final DatabaseUniverse databaseUniverse = DatabaseUniverse.open(
    schemas: [
      ChatbotDataLocalDatabaseSchema,
    ],
    directory: "temp",
  );
  final String prompt = "hello";
  final String respond = "Hello Babe";
  generalLibraryLog.printToTerminal(
    logMessage: GeneralLibraryLogMessage(
      value: "Get Data: ${prompt}",
      isForcePrint: false,
      stackTrace: StackTrace.current,
      isFullDetail: false,
      logMessageType: GeneralLibraryLogMessageType.info,
      logOptions: null,
    ),
  );

  final ChatbotDataLocalDatabase? chatbotDataLocalDatabaseOld = databaseUniverse.chatbotDataLocalDatabases.where().promptMatches(prompt, caseSensitive: false).findFirst();
  if (chatbotDataLocalDatabaseOld == null) {
    generalLibraryLog.printToTerminal(
      logMessage: GeneralLibraryLogMessage(
        value: "Data Prompt Not Found: ${prompt} ",
        isForcePrint: false,
        stackTrace: StackTrace.current,
        isFullDetail: false,
        logMessageType: GeneralLibraryLogMessageType.info,
        logOptions: null,
      ),
    );
    final ChatbotDataLocalDatabase chatbotDataLocalDatabaseNew = ChatbotDataLocalDatabase();
    chatbotDataLocalDatabaseNew.id = databaseUniverse.chatbotDataLocalDatabases.autoIncrement();
    chatbotDataLocalDatabaseNew.prompt = prompt;
    chatbotDataLocalDatabaseNew.respond = respond;
    databaseUniverse.write((databaseUniverse) {
      databaseUniverse.chatbotDataLocalDatabases.put(chatbotDataLocalDatabaseNew);
      return;
    });
  } else {
    generalLibraryLog.printToTerminal(
      logMessage: GeneralLibraryLogMessage(
        value: "Data Prompt Found: ${prompt} ",
        isForcePrint: false,
        stackTrace: StackTrace.current,
        isFullDetail: false,
        logMessageType: GeneralLibraryLogMessageType.info,
        logOptions: null,
      ),
    );
    generalLibraryLog.printToTerminal(
      logMessage: GeneralLibraryLogMessage(
        value: """
Data Detail

Prompt: ${chatbotDataLocalDatabaseOld.prompt}
Respond: ${chatbotDataLocalDatabaseOld.respond}
""".trim(),
        isForcePrint: false,
        stackTrace: StackTrace.current,
        isFullDetail: false,
        logMessageType: GeneralLibraryLogMessageType.info,
        logOptions: null,
      ),
    );
  }
  exit(0);
}

Example Generate Schema script minimal for insight you or make you use this library because very simple

import 'dart:io';
import 'package:general_lib/general_lib.dart';
import "package:path/path.dart" as path;

void main(List<String> args) async {
  final Directory directoryCurrent = Directory.current;
  final Directory directorySchemes = Directory(path.join(directoryCurrent.path, "lib", "schema"));
  directorySchemes.generalLibUtilsDangerRecreate();
  {
    final Directory directoryDatabaseScheme = Directory(path.join(directorySchemes.path, "database_scheme")).generalLibUtilsDangerRecreate();
    for (final element in schemes) {
      final generateSchema = jsonToDatabaseUniverse(
        element,
        className: "${element["@type"]}${GeneralLibSchemeType.local.toSpesialType()}",
      );
      await generateSchema.saveToFile(directoryDatabaseScheme);
    }
  }
  {
    Process.runSync(
      "dart",
      ["pub", "get", "--offline"],
      workingDirectory: directoryCurrent.path,
    );
    Process.runSync(
      "dart",
      [
        "format",
        ".",
      ],
      workingDirectory: directoryCurrent.path,
    );
    final result = await Process.start(
      "dart",
      [
        "run",
        "build_runner",
        "build",
        "--delete-conflicting-outputs",
      ],
      workingDirectory: directoryCurrent.path,
    );
    result.stderr.listen(stderr.add);
    result.stdout.listen(stdout.add);
    int exitCode = await result.exitCode;
    exit(exitCode);
  }
}

final List<Map<String, dynamic>> schemes = [
  {
    "@type": "chatbotData",
    "id": 0,
    "prompt": "",
    "respond": "",
  },
];