Horlawhumy-dev / Resonate

Clubhouse, but Open Source. A social voice platform.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Resonate - An Open Source Social Voice Platform

With the rising popularity of social voice platforms such as Clubhouse and Twitter Spaces, it is high time for an Open Source alternative. A platform like this would not only enhance credibility within the open-source community, but also attract more users and foster growth. An engagement platform that is Open Source has the potential to drive significant traction and help establish a strong presence.

Goals

  1. Design and Develop a Flutter Mobile Application.
  2. Develop a backend for the app using NodeJS, Appwrite and LiveKit.

Technologies Used

  1. Flutter - Mobile application
  2. Appwrite - Authentication, Database for Room and Participant management, Storage for user/group data
  3. NodeJS - REST API to talk to Livekit & Appwrite
  4. LiveKit - Web Real Time Communication

High Level Architecture

Architecture

App Level Design Pattern

Flutter will be used to develop the application for various platforms. We will be designing the app using MVC (Model View Controller) architecture and we will be using GetX for state management.

Repository Links

  1. Resonate Flutter App
  2. Resonate Backend

Contributing

Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure a smooth collaboration, please review the following guidelines.

Reporting Issues

If you come across any issues or bugs while using this project, please help us by reporting them. To submit an issue, follow these steps:

  1. Go to the Issues tab on the GitHub repository.
  2. Click on the "New Issue" button.
  3. Provide a descriptive title and detailed description of the issue, including any error messages or steps to reproduce.
  4. If applicable, add relevant labels or tags to categorize the issue.
  5. Submit the issue and wait for further instructions or clarifications.

Feature Requests

Have a great idea for a new feature or improvement? We'd love to hear it! Follow these steps to suggest a feature:

  1. Go to the Issues tab on the GitHub repository.
  2. Click on the "New Issue" button.
  3. Clearly describe the proposed feature or improvement, including any use cases or benefits.
  4. Submit the feature request and engage in any discussions or feedback related to it.

Pull Requests

We welcome contributions in the form of pull requests. To submit a pull request, please follow these guidelines:

  1. Fork the repository and create your branch.
  2. Make the necessary code changes or improvements in your branch.
  3. Ensure your code adheres to the project's coding style and guidelines.
  4. Document any relevant changes or updates in the project's documentation.
  5. Submit the pull request, providing a clear title and description of the changes made.
  6. Engage in any feedback or discussions related to your pull request.

Code Style and Guidelines

To maintain consistency throughout the project's codebase, please adhere to the following guidelines:

  • Follow the Dart coding style conventions.
  • Use meaningful variable and function names.
  • Add comments when necessary to explain complex logic or intent.
  • Ensure code is properly formatted by using dartfmt.

Commit Structure

Make sure to use conventional commit structure as follows:

<type>: <short summary>
  │               │
  │               └─⫸ Summary. Not capitalized. No period at the end.
  │
  └─⫸ Commit Type: docs|feat|fix|perf|refactor|test

Know more about Conventional Commits here.

Communication Channels

If you have any questions, need clarifications, or want to discuss ideas, feel free to reach out through the following channels:

We appreciate your contributions and look forward to working with you to make this project even better!

By following these guidelines, we can maintain a productive and collaborative open-source environment. Thank you for your support!

About

Clubhouse, but Open Source. A social voice platform.


Languages

Language:Dart 99.1%Language:Ruby 0.7%Language:Swift 0.2%Language:Kotlin 0.1%Language:Objective-C 0.0%