GithubHelp home page GithubHelp logo

realmq / realmq-platform Goto Github PK

View Code? Open in Web Editor NEW
57.0 5.0 8.0 2.53 MB

RealMQ :rocket: is an open source real-time messaging platform with focus on integrability, privacy, security and performance.

Home Page: https://realmq.com

License: Open Software License 3.0

JavaScript 97.91% Shell 2.01% Dockerfile 0.08%
mqtt real-time pubsub telecommunication platform iot signaling

realmq-platform's People

Contributors

alrik avatar baranga avatar dependabot[bot] avatar derlarsen avatar fossabot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

realmq-platform's Issues

Add basic realm limits

Add basic realm limits:

  • Maximum number of online clients
  • Maximum message size (broker docs)

Not covered:

  • Maximum number of messages per session per second (broker only supports setting a global session limit but not different limit for each session; this needs to be implemented manually; upper hard cap could be achieved by using throttle modifier)
  • Maximum session lifetime (broker docs; this seems to be not supported by the current broker version we use)

Channel Pipes

This is a meta ticket for discussing & keeping track on channel pipes.

Abstract

Channel Pipes are an advanced feature to control and manipulate data flows. Their base functionality is to route traffic from a list of source channels to a list of target channels.
A webhook on a pipe allows for filtering and routing the traffic on message level. Pipes are very handy for building any kind of automation on top of messaging (e.g. chatbots).

Todos

  • Specification of channel pipes
  • Implementation of channel pipes
  • Documentation of channel pipes

๐Ÿ‘‰ Thanks for votes and comments to help us prioritize

Upgrade node to latest LTS version

We currently run node 8. It's time for a little upgrade.

  • Upgrade docker file to use node 16
  • Upgrade package.json
  • Upgrade package-lock.json
  • Upgrade CI

Problems with dev script on MacOS

There are some issues with the dev script on mac os.

  • /etc/hosts will be altered on every run (check grep)
  • colored output does not work
npm run dev        

> @realmq/[email protected] dev /Users/Robin/Dev/Ciro/realmq-platform
> .npm-scripts/start-dev.sh

npm WARN [email protected] requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.

up to date in 4.895s
Starting realmq_broker_1       ... done
Starting realmq_database_1     ... done
Starting realmq_certificates_1 ... done
Starting realmq_platform_1     ... done
Starting realmq_dispatcher_1   ... done
usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
    [-e pattern] [-f file] [--binary-files=value] [--color=when]
    [--context[=num]] [--directories=action] [--label] [--line-buffered]
    [--null] [pattern] [file ...]
\e[1;34mโ˜ž\e[0m Setting up \e[1mlocal DNS\e[0m.
Adding \e[1m127.0.0.1 realmq.local api.realmq.local rtm.realmq.local\e[0m to \e[4m/etc/hosts\e[0m.
\e[0;32mโœ“\e[0m Hosts have been added successfully
Attaching to realmq_platform_1

Webhooks

This is a meta ticket for keeping track on webhook implementation.

  • Write specification #68
  • Implement webhooks

๐Ÿ‘‰ Thanks for votes and comments to help us prioritize

Multi Channel

This is a meta ticket for discussing & keeping track on smtp / email integration.

Abstract

Multi channel functionality comes as a unified gateway interface for connecting the RealMQ platform with other event and messaging systems. This adds the ability to trigger SMS, email and push notifications upon channel events. A APN and GCM/FCM integration guarantee message delivery even if a subscriber is not connected.

Todos

  • Specify multi channel functionality
  • SMS Integration
  • Slack Integration
  • Email Integration
  • APN Integraion
  • GCM/FCM Integration

๐Ÿ‘‰ Thanks for votes and comments to help us prioritize

Entity deletion cascades

Currently, when an entity is deleted from the database, related entities will remain. E.g. when a channel is removed all channel subscriptions will live on. This will leave us with inconsistent data and has to be solved. We have do define removal cascades for all relevant entities and make sure that the database stays consistent after entities are deleted.

Bootstrap the community

  • Setup realmq on Spectrum
  • Code of Conduct / Contributing guidelines
  • Use welcoming and inviting language
  • Ask users for feedback / ideas / integration requests / use cases etc.
  • Include users into product development

Getting started / Readme / Project Presentation

  • The realmq-platform repository needs to be baam boom, schacka lacka
  • Readme must be clear
    • Visual
    • Summary
    • Benefits (emotial)
    • Features (technical)
    • Roadmap (get users involved)
    • How to Contribute (get users involved)
    • Architectural Documentation (get users involved)
    • Getting started Guide (lead users to to website, eg. doc pages, to potentially convert them to customers)
  • Optimize cross project linkage:
    • route all traffic to realmq-platform in order to bundle the community (and stargazers)
    • All Projects need a unified look & feel with some grafic and realmq platform summary

Landing page

When hitting the root path we see a error right now:

{"code":"EndpointNotFound","message":"/ does not exist."}

That's valid but not very helpful. It would be really nice to have some kind of explaining resource under this path giving some explanation and pointing to further resources and documents.

Password hashes must not be exposed.

POST /admin/v1/accounts
{
  "email": "[email protected]",
  "password": "password"
}

Actual Result:

{
    "id": "d17752d3-9e83-46bc-a66a-5c549a1a5ba0",
    "email": "[email protected]",
--> "passwordHash": ".....",
    "createdAt": "2018-06-08T13:12:17.803Z",
    "updatedAt": "2018-06-08T13:12:17.803Z"
}

Expeted Result:

{
    "id": "d17752d3-9e83-46bc-a66a-5c549a1a5ba0",
    "email": "[email protected]",
    "createdAt": "2018-06-08T13:12:17.803Z",
    "updatedAt": "2018-06-08T13:12:17.803Z"
}

Replace account functionallity with fixed admin token

The account functionality in the admin API is not appropriate for a standalone solution but belongs to some kind of cloud / as-a-service solution. Let's remove it and implement a configurable fixed admin token instead.

CLI Tool

This is a meta issue for keeping track on the cli tool.

  • Write cli tool specification
  • Implement cli tool
  • Write cli tool documentation

๐Ÿ‘‰ Thanks for votes and comments to help us prioritize

Dashboard

This is a meta issue for keeping track on the dashboard.

Goal

The purpose of the dashboard web app is to improve account & realm management.

Todos

  • Write dashboard specification
  • Implement the dashboard
  • Write dashboard documentation

๐Ÿ‘‰ Thanks for votes and comments to help us prioritize

Public Cloud Service

This is a meta ticket for discussing & keeping track on public cloud service implementation.

  • Specify quota & limits
  • Discuss pricing & packages
  • Implement cloud service signup
  • Implement billing
  • Deploy cluster to api.realmq.com / rtm.realmq.com

๐Ÿ‘‰ Thanks for votes and comments to help us prioritize

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.