All Projects → streamr-dev → core-api

streamr-dev / core-api

Licence: AGPL-3.0 license
Streamr Core backend

Programming Languages

groovy
2714 projects
java
68154 projects - #9 most used programming language
typescript
32286 projects
Makefile
30231 projects

Projects that are alternatives of or similar to core-api

streamr-client-javascript
JS library for interacting with Streamr APIs: publishing and subscribing to data, creating streams, etc.
Stars: ✭ 35 (-32.69%)
Mutual labels:  decentralized, realtime, pubsub, realtime-messaging, streamr
Engine And Editor
Streamr Core backend
Stars: ✭ 44 (-15.38%)
Mutual labels:  analytics, decentralized, realtime, pubsub, realtime-messaging
fastapi websocket pubsub
A fast and durable Pub/Sub channel over Websockets. FastAPI + WebSockets + PubSub == ⚡ 💪 ❤️
Stars: ✭ 255 (+390.38%)
Mutual labels:  realtime, pubsub, realtime-messaging
network
Monorepo containing all the main components of Streamr Network.
Stars: ✭ 522 (+903.85%)
Mutual labels:  decentralized, pubsub, streamr
network-monorepo
Monorepo containing all the main components of Streamr Network.
Stars: ✭ 223 (+328.85%)
Mutual labels:  decentralized, pubsub, streamr
Wsify
Just a tiny, simple and real-time self-hosted pub/sub messaging service
Stars: ✭ 452 (+769.23%)
Mutual labels:  realtime, pubsub, realtime-messaging
Ranaly
📈 An easy to use chart system
Stars: ✭ 504 (+869.23%)
Mutual labels:  analytics, realtime
Samsara
Samsara is a real-time analytics platform
Stars: ✭ 132 (+153.85%)
Mutual labels:  analytics, realtime
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+884.62%)
Mutual labels:  decentralized, realtime
Wikipedia Ipfs
An exploration to host Wikipedia in IPFS
Stars: ✭ 158 (+203.85%)
Mutual labels:  decentralized, pubsub
accelerator-textchat-ios
OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices.
Stars: ✭ 13 (-75%)
Mutual labels:  realtime, realtime-messaging
ably-cocoa
iOS, tvOS and macOS Objective-C and Swift client library SDK for Ably realtime messaging service
Stars: ✭ 33 (-36.54%)
Mutual labels:  realtime, realtime-messaging
Divolte Collector
Divolte Collector
Stars: ✭ 264 (+407.69%)
Mutual labels:  analytics, pubsub
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (+61.54%)
Mutual labels:  decentralized, pubsub
Pipelinedb
High-performance time-series aggregation for PostgreSQL
Stars: ✭ 2,447 (+4605.77%)
Mutual labels:  analytics, realtime
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+29076.92%)
Mutual labels:  decentralized, realtime
live-cryptocurrency-streaming-flutter
A Flutter app with live cryptocurrency updates, powered by Ably
Stars: ✭ 26 (-50%)
Mutual labels:  realtime, realtime-messaging
Zeronet
ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network
Stars: ✭ 17,227 (+33028.85%)
Mutual labels:  decentralized, realtime
Pulsarcast
A pub-sub system for the distributed web - my master thesis @ IST
Stars: ✭ 33 (-36.54%)
Mutual labels:  decentralized, pubsub
ipfs-pubsub-chatroom
Simple IPFS Pubsub chatroom built on React
Stars: ✭ 45 (-13.46%)
Mutual labels:  decentralized, pubsub

Streamr Core API

CI & CD

RESTful API containing the backend for Streamr Core, facilitating things like:

  • Creating streams
  • Creating products for the Streamr Marketplace

The application uses the Grails web framework and runs on Java VM.

Dependencies

Tools

  • Java 8
  • Grails 2.5.6
  • node.js ^16.0.0 (for e2e tests)
  • npm

A convenient way of installing and managing multiple versions of Grails is SDKMAN!.

Service dependencies

Additional services are required to run this web application. The easiest way to get them all up and running (for development purposes) is to use the streamr-docker-dev tool we provide.

You might also want to run the Core frontend.

Building and running

  1. Ensure you have the dependencies listed under Dependencies > Tools installed.

  2. Clone this repo

  3. Run make start if you are using the recommended tool streamr-docker-dev. Otherwise make sure all services dependencies are running and the the web applications is properly configured to connect to them.

  4. Start the backend application

make run

CI

The project uses GitHub Actions to automatically run tests for each commit to main and pull requests.

Docker

A Docker image is automatically built and pushed to DockerHub when commits are pushed to branch main.

IDE

We provide sensible default configurations for IntelliJ IDEA but project can be developed with other IDEs as well.

Testing

  • To run unit tests only, use make test-unit
  • To run integration tests only, use make test-integration
  • To run end-to-end REST API tests, do make test-e2e
  • To run unit, integration, and e2e tests use make test

These are also available as pre-shared run configurations if you use IntelliJ IDEA.

Core API

This codebase comprises two logical parts:

  • API which allows users to create and manage streams, products, and other Streamr resources. The API controllers and services are mainly written in Groovy and use the Grails web framework.

When you run the app with grails run-app, most changes to source code files are automatically hot reloaded into the running JVM process.

Useful resources

License

This software is open source, and dual licensed under AGPLv3 and an enterprise-friendly commercial license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].