Skip to content

[TASK] Integrating Go Functions with Flutter #60

@kushagra0902

Description

@kushagra0902

📝 What needs to be done?

Convert the existing Go backend into a format that can be used directly in a Flutter mobile app. This involves using gomobile (or a similar library) to generate bindings so the Flutter app can call Go functions natively.

🎯 Which part of the project?

  • 🌐 Website (React web client)
  • 📱 Mobile app (Flutter mobile client)
  • 🔧 Core Protocol (Go - main LIBR logic)
  • 🌐 Network Layer (Go - P2P networking)
  • 🔗 Smart contracts (Blockchain)
  • 📚 Documentation
  • 🧪 Testing
  • 🛠️ Development tools

🔧 What type of work is this?

  • ✨ New feature
  • 🐛 Bug fix
  • 💅 UI/Design improvement
  • 📚 Documentation
  • 🧪 Testing
  • 🔧 Code cleanup/refactoring
  • 🚀 Performance improvement

✅ How do we know when this is done?

  • Go backend can be compiled to a mobile library using gomobile (iOS/Android)
  • Flutter app can import the Go library and call Go functions successfully
  • Basic integration tests show the Go functions behave as expected within Flutter

🌟 How important is this task?

  • 🔥 Critical - Blocks other work
  • 🎯 High - Important for next milestone
  • 😊 Medium - Should be done soon
  • 🤷 Low - Nice to have

⏱️ How much time might this take?

  • ⚡ Quick (less than 1 hour)
  • 🏃 Short (1-4 hours)
  • 🚶 Medium (4-8 hours / 1 day)
  • 🐢 Long (2-3 days)
  • 🏔️ Big project (more than 1 week)

💡 Implementation hints

  • Use gomobile bind to generate .aar for Android and .framework for iOS
  • Structure the Go backend as a library with exported functions for mobile usage
  • Ensure all I/O and network operations are compatible with mobile platforms

🧪 Testing needed

  • 🧪 Unit tests (test individual functions)
  • 🔗 Integration tests (test Go functions within Flutter)
  • 👤 Manual testing (verify functions from Flutter app or java classes)
  • 📱 Test on different devices/browsers
  • ⚡ Performance testing
  • 🔒 Security testing
  • ❌ No testing needed

📚 Documentation needed

  • 💬 Code comments (explain exported Go functions)
  • 📖 README updates (how to integrate Go library in Flutter)
  • 📚 User guide
  • 👨‍💻 Developer documentation (setup instructions for mobile build)
  • ❌ No documentation needed

👋 Want to work on this task?

Comment "I'd like to work on this" and we'll assign it to you!

🆕 New contributor?

Check out our Beginner Guide to get started. This might be a great first task if it's labeled good first issue!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions