{"id":48846369,"url":"https://github.com/50gramx/eapp-dart-domain","last_synced_at":"2026-07-05T05:01:31.377Z","repository":{"id":291669218,"uuid":"978293169","full_name":"50gramx/eapp-dart-domain","owner":"50gramx","description":"🎯 Auto-generated Dart client library for EAPP system contracts. Perfect for Flutter apps with type-safe protobuf client and gRPC support.","archived":false,"fork":false,"pushed_at":"2026-06-30T22:39:04.000Z","size":149489,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-30T23:24:27.958Z","etag":null,"topics":["auto-generated","client-library","dart","flutter","grpc","mobile","protobuf","pub-dev","type-safe","web"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/eapp_dart_domain","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/50gramx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-05T19:03:23.000Z","updated_at":"2026-06-30T22:39:08.000Z","dependencies_parsed_at":"2025-05-05T23:38:02.703Z","dependency_job_id":"51153e51-08e9-4c79-bbc8-e4f7376d28d4","html_url":"https://github.com/50gramx/eapp-dart-domain","commit_stats":null,"previous_names":["50gramx/eapp-dart-domain"],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/50gramx/eapp-dart-domain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-dart-domain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-dart-domain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-dart-domain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-dart-domain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/50gramx","download_url":"https://codeload.github.com/50gramx/eapp-dart-domain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-dart-domain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35143802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-generated","client-library","dart","flutter","grpc","mobile","protobuf","pub-dev","type-safe","web"],"created_at":"2026-04-15T05:32:49.274Z","updated_at":"2026-07-05T05:01:31.350Z","avatar_url":"https://github.com/50gramx.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EAPP Dart Domain 🎯\n\n[![System Contracts Build](https://img.shields.io/github/actions/workflow/status/50gramx/eapp-system-contracts/protobuf-distribution.yml?label=system-contracts%20CI)](https://github.com/50gramx/eapp-system-contracts/actions/workflows/protobuf-distribution.yml)\n[![Latest Release](https://img.shields.io/github/v/release/50gramx/eapp-dart-domain?label=latest%20release)](https://github.com/50gramx/eapp-dart-domain/releases/latest)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Package Index](https://img.shields.io/badge/index-private%20package%20index-blue)](https://raw.githubusercontent.com/50gramx/eapp-dart-domain/master/packages/index.html)\n\n\u003e **Dart client library for EAPP (Ethos Apps Platform)** - Auto-generated protobuf client code for seamless Flutter and Dart integration with EAPP services.\n\n## 📦 Package Index \u0026 Downloads\n\n### 🚀 Quick Access\n- **[📋 Package Index (HTML Preview)](https://html-preview.github.io/?url=https://github.com/50gramx/eapp-dart-domain/blob/master/packages/index.html)** - View all available packages\n- **[📋 Raw Package Index](https://raw.githubusercontent.com/50gramx/eapp-dart-domain/master/packages/index.html)** - Direct package index\n- **[📥 Latest Release](https://github.com/50gramx/eapp-dart-domain/releases/latest)** - Download latest version\n- **[🏗️ Build Status](https://github.com/50gramx/eapp-system-contracts/actions/workflows/protobuf-distribution.yml)** - Check CI/CD status\n\n### 📦 Available Packages\n\u003e **📋 View all available packages and versions in our [Package Index (HTML Preview)](https://html-preview.github.io/?url=https://github.com/50gramx/eapp-dart-domain/blob/master/packages/index.html)**\n\n### 🔧 Installation\n```yaml\n# Add to pubspec.yaml\ndependencies:\n  eapp_dart_domain:\n    git:\n      url: https://github.com/50gramx/eapp-dart-domain.git\n      ref: master  # or specific version tag\n```\n\n## 📋 Table of Contents\n\n- [Overview](#-overview)\n- [🚀 Quick Start](#-quick-start)\n- [📦 Installation](#-installation)\n- [🔧 Usage](#-usage)\n- [📚 API Reference](#-api-reference)\n- [🔄 Auto-Generation](#-auto-generation)\n- [🤝 Contributing](#-contributing)\n- [📄 License](#-license)\n\n## 🌟 Overview\n\nEAPP Dart Domain provides **auto-generated Dart client code** for all EAPP system contracts. This package is automatically generated from Protocol Buffer definitions and provides type-safe, efficient access to EAPP services from Dart and Flutter applications.\n\n### 🎯 Key Features\n\n- **🔄 Auto-Generated** - Built from protobuf definitions in [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts)\n- **📦 Type-Safe** - Full type safety with Dart's strong typing\n- **⚡ High Performance** - Optimized protobuf serialization\n- **📱 Flutter Ready** - Perfect for Flutter mobile and web apps\n- **🔒 Production Ready** - Used in production EAPP applications\n- **📚 Comprehensive** - Covers all EAPP service contracts\n\n### 🏗️ Service Coverage\n\n| Service Category | Description | Available |\n|------------------|-------------|-----------|\n| **🔐 Identity** | User authentication \u0026 authorization | ✅ |\n| **💬 Communication** | Messaging \u0026 notifications | ✅ |\n| **🧠 Cognitive** | AI \u0026 knowledge management | ✅ |\n| **🛍️ Commerce** | Transactions \u0026 payments | ✅ |\n| **🌌 Multiverse** | Space \u0026 universe management | ✅ |\n\n## 🚀 Quick Start\n\n### 1. Installation\n\nAdd to your `pubspec.yaml`:\n\n```yaml\ndependencies:\n  eapp_dart_domain: ^0.1.0\n  grpc: ^3.2.0\n  protobuf: ^3.0.0\n```\n\nThen run:\n```bash\ndart pub get\n```\n\n### 2. Basic Usage\n\n```dart\nimport 'package:eapp_dart_domain/ethos/user.pb.dart';\nimport 'package:eapp_dart_domain/ethos/account.pb.dart';\n\nvoid main() {\n  // Create a user\n  final user = User()\n    ..id = 'user123'\n    ..name = 'John Doe'\n    ..email = 'john@example.com';\n\n  // Create an account\n  final account = Account()\n    ..id = 'acc123'\n    ..userId = user.id\n    ..status = AccountStatus.ACTIVE;\n\n  print('User: ${user.name} (${user.email})');\n  print('Account: ${account.id} - Status: ${account.status}');\n}\n```\n\n### 3. Service Integration\n\n```dart\nimport 'package:grpc/grpc.dart';\nimport 'package:eapp_dart_domain/ethos/account_service.pbgrpc.dart';\n\nFuture\u003cvoid\u003e createAccount() async {\n  final channel = ClientChannel(\n    'localhost',\n    port: 50051,\n    options: const ChannelOptions(credentials: ChannelCredentials.insecure()),\n  );\n\n  final stub = AccountServiceClient(channel);\n\n  final request = CreateAccountRequest()\n    ..userId = 'user123'\n    ..accountType = AccountType.PERSONAL;\n\n  try {\n    final response = await stub.createAccount(request);\n    print('Created account: ${response.account.id}');\n  } catch (e) {\n    print('Error: $e');\n  } finally {\n    await channel.shutdown();\n  }\n}\n```\n\n## 📦 Installation\n\n### Requirements\n\n- **Dart**: 2.17.0+\n- **Flutter**: 3.0.0+ (for Flutter apps)\n- **Dependencies**: \n  - `protobuf: ^3.0.0`\n  - `grpc: ^3.2.0`\n\n### Installation Methods\n\n#### 1. Pub.dev (Recommended)\n```yaml\n# pubspec.yaml\ndependencies:\n  eapp_dart_domain: ^0.1.0\n```\n\n#### 2. From GitHub Releases\n```yaml\n# pubspec.yaml\ndependencies:\n  eapp_dart_domain:\n    git:\n      url: https://github.com/50gramx/eapp-dart-domain.git\n      ref: master\n```\n\n#### 3. Local Development\n```bash\ngit clone https://github.com/50gramx/eapp-dart-domain.git\ncd eapp-dart-domain\ndart pub get\n```\n\n## 🔧 Usage\n\n### Importing Modules\n\n```dart\n// Core entities\nimport 'package:eapp_dart_domain/ethos/user.pb.dart';\nimport 'package:eapp_dart_domain/ethos/account.pb.dart';\nimport 'package:eapp_dart_domain/ethos/space.pb.dart';\n\n// Service clients\nimport 'package:eapp_dart_domain/ethos/account_service.pbgrpc.dart';\nimport 'package:eapp_dart_domain/ethos/user_service.pbgrpc.dart';\nimport 'package:eapp_dart_domain/ethos/space_service.pbgrpc.dart';\n```\n\n### Working with Messages\n\n```dart\nimport 'package:eapp_dart_domain/ethos/user.pb.dart';\n\n// Create messages\nfinal user = User()\n  ..id = 'user123'\n  ..name = 'John Doe'\n  ..email = 'john@example.com'\n  ..status = UserStatus.ACTIVE;\n\n// Serialize to bytes\nfinal userBytes = user.writeToBuffer();\n\n// Deserialize from bytes\nfinal userFromBytes = User.fromBuffer(userBytes);\n\n// Convert to/from JSON\nfinal userJson = user.toProto3Json();\nfinal userFromJson = User.fromProto3Json(userJson);\n```\n\n### gRPC Service Calls\n\n```dart\nimport 'package:grpc/grpc.dart';\nimport 'package:eapp_dart_domain/ethos/account_service.pbgrpc.dart';\n\nFuture\u003cList\u003cAccount\u003e\u003e getUserAccounts(String userId) async {\n  final channel = ClientChannel(\n    'localhost',\n    port: 50051,\n    options: const ChannelOptions(credentials: ChannelCredentials.insecure()),\n  );\n\n  final stub = AccountServiceClient(channel);\n\n  try {\n    final request = GetUserAccountsRequest()..userId = userId;\n    final response = await stub.getUserAccounts(request);\n    return response.accounts;\n  } finally {\n    await channel.shutdown();\n  }\n}\n```\n\n### Flutter Integration\n\n```dart\nimport 'package:flutter/material.dart';\nimport 'package:eapp_dart_domain/ethos/user.pb.dart';\nimport 'package:eapp_dart_domain/ethos/user_service.pbgrpc.dart';\n\nclass UserProfileScreen extends StatefulWidget {\n  @override\n  _UserProfileScreenState createState() =\u003e _UserProfileScreenState();\n}\n\nclass _UserProfileScreenState extends State\u003cUserProfileScreen\u003e {\n  User? user;\n\n  @override\n  void initState() {\n    super.initState();\n    _loadUser();\n  }\n\n  Future\u003cvoid\u003e _loadUser() async {\n    // Load user data using EAPP services\n    // Implementation here...\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(title: Text('User Profile')),\n      body: user != null\n          ? Column(\n              children: [\n                Text('Name: ${user!.name}'),\n                Text('Email: ${user!.email}'),\n                Text('Status: ${user!.status}'),\n              ],\n            )\n          : CircularProgressIndicator(),\n    );\n  }\n}\n```\n\n## 📚 API Reference\n\n### Core Entities\n\n#### User\n```dart\nfinal user = User(\n  id: 'string',           // Unique user identifier\n  name: 'string',         // Display name\n  email: 'string',        // Email address\n  status: UserStatus.ACTIVE,  // User status\n  createdAt: Timestamp(), // Creation timestamp\n  updatedAt: Timestamp()  // Last update timestamp\n);\n```\n\n#### Account\n```dart\nfinal account = Account(\n  id: 'string',           // Unique account identifier\n  userId: 'string',       // Associated user ID\n  type: AccountType.PERSONAL,  // Account type\n  status: AccountStatus.ACTIVE, // Account status\n  createdAt: Timestamp()  // Creation timestamp\n);\n```\n\n#### Space\n```dart\nfinal space = Space(\n  id: 'string',           // Unique space identifier\n  name: 'string',         // Space name\n  description: 'string',  // Space description\n  ownerId: 'string',      // Owner user ID\n  type: SpaceType.PUBLIC, // Space type\n  createdAt: Timestamp()  // Creation timestamp\n);\n```\n\n### Service Clients\n\n#### AccountServiceClient\n```dart\nfinal client = AccountServiceClient(channel);\n\n// Available methods:\n// - createAccount(request)\n// - getAccount(request)\n// - updateAccount(request)\n// - deleteAccount(request)\n// - getUserAccounts(request)\n```\n\n#### UserServiceClient\n```dart\nfinal client = UserServiceClient(channel);\n\n// Available methods:\n// - createUser(request)\n// - getUser(request)\n// - updateUser(request)\n// - deleteUser(request)\n// - listUsers(request)\n```\n\n## 🔄 Auto-Generation\n\nThis package is **automatically generated** from protobuf definitions in the [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts) repository.\n\n### Generation Process\n\n1. **Protobuf Changes** - Updates to `.proto` files in system-contracts\n2. **CI/CD Trigger** - GitHub Actions workflow automatically triggers\n3. **Code Generation** - `protoc` generates Dart code from `.proto` files\n4. **Package Building** - Creates Dart package with generated code\n5. **Release Creation** - Creates GitHub release with new version\n6. **Index Update** - Updates package index with new release\n\n### Versioning\n\n- **Auto-generated versions** - Based on timestamp: `0.1.0.{timestamp}`\n- **Release frequency** - On every protobuf change\n- **Backward compatibility** - Maintained within major versions\n\n## 🤝 Contributing\n\n### For Dart-Specific Changes\n\n1. **Fork** the repository\n2. **Create** a feature branch\n3. **Make** your changes\n4. **Test** thoroughly\n5. **Submit** a pull request\n\n### For Protobuf Changes\n\n1. **Update** protobuf definitions in [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts)\n2. **Push** to trigger auto-generation\n3. **Review** generated Dart code\n4. **Test** with your changes\n\n### Development Setup\n\n```bash\n# Clone repository\ngit clone https://github.com/50gramx/eapp-dart-domain.git\ncd eapp-dart-domain\n\n# Install dependencies\ndart pub get\n\n# Run tests\ndart test\n\n# Run linting\ndart analyze\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🔗 Quick Links\n\n- **📦 Pub.dev**: [eapp_dart_domain](https://pub.dev/packages/eapp_dart_domain)\n- **🏗️ System Contracts**: [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts)\n- **🐛 Issues**: [GitHub Issues](https://github.com/50gramx/eapp-dart-domain/issues)\n- **📖 Documentation**: [API Docs](https://github.com/50gramx/eapp-dart-domain/wiki)\n- **💬 Discussions**: [GitHub Discussions](https://github.com/50gramx/eapp-dart-domain/discussions)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\u003cstrong\u003eAuto-generated Dart client for EAPP System Contracts\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003e\u003cem\u003eBuilt with ❤️ by the EAPP Team\u003c/em\u003e\u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F50gramx%2Feapp-dart-domain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F50gramx%2Feapp-dart-domain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F50gramx%2Feapp-dart-domain/lists"}