All Projects → theyakka → cumulus

theyakka / cumulus

Licence: other
Cumulus is a high-level Dart framework that makes developing application logic on top of Firebase quick and simple.

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to cumulus

nepomuk
A public transit router for GTFS feeds (currently only static) written in modern c++
Stars: ✭ 22 (+57.14%)
Mutual labels:  routing
dcompass
A high-performance programmable DNS component aiming at robustness, speed, and flexibility
Stars: ✭ 260 (+1757.14%)
Mutual labels:  routing
sample-envoy-proxy
custom implementation of service discovery with envoy and inter-service communication for spring-boot applications
Stars: ✭ 29 (+107.14%)
Mutual labels:  routing
pinecone
Peer-to-peer overlay routing for the Matrix ecosystem
Stars: ✭ 361 (+2478.57%)
Mutual labels:  routing
rrx
⚛️ Minimal React router using higher order components
Stars: ✭ 69 (+392.86%)
Mutual labels:  routing
route pattern generator
A Dart static code generator that produces matchers and builders from route uri patterns.
Stars: ✭ 31 (+121.43%)
Mutual labels:  routing
vue-error-page
[NO LONGER MAINTAINED] Provides a wrapper for router-view that allows you to show error pages without changing the URL.
Stars: ✭ 52 (+271.43%)
Mutual labels:  routing
firebase-functions-es6-example
Use ES6 to develop Cloud Functions for Firebase today!
Stars: ✭ 20 (+42.86%)
Mutual labels:  firebase-functions
scion-microfrontend-platform
SCION Microfrontend Platform is a TypeScript-based open-source library that helps to implement a microfrontend architecture using iframes.
Stars: ✭ 51 (+264.29%)
Mutual labels:  routing
angular-httpclient
Angular 15 Example HttpClient
Stars: ✭ 21 (+50%)
Mutual labels:  routing
yates
YATES (Yet Another Traffic Engineering System)
Stars: ✭ 46 (+228.57%)
Mutual labels:  routing
nextjs-firebase-fns-demo
Demo for serverless NextJS on Firebase Functions
Stars: ✭ 14 (+0%)
Mutual labels:  firebase-functions
firebase-swiss
The Firebase Swissknife 🇨🇭
Stars: ✭ 12 (-14.29%)
Mutual labels:  firebase-functions
bilkent-scheduler
Visualizer that makes Bilkent University students' lives easier during course registration
Stars: ✭ 22 (+57.14%)
Mutual labels:  firebase-functions
mobx-router5
Router5 integration with mobx
Stars: ✭ 22 (+57.14%)
Mutual labels:  routing
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (+650%)
Mutual labels:  routing
Mignis
Mignis is a semantic based tool for firewall configuration.
Stars: ✭ 43 (+207.14%)
Mutual labels:  routing
pocketinternet
A Pocket Internet for teaching how the Internet really works.
Stars: ✭ 28 (+100%)
Mutual labels:  routing
router
An Fully Automatic RESTful PHP Router
Stars: ✭ 51 (+264.29%)
Mutual labels:  routing
router-example
Use React Router DOM to create a Single Page Application (SPA).
Stars: ✭ 50 (+257.14%)
Mutual labels:  routing

Cumulus is a high-level framework that makes developing application logic on top of Firebase quick and simple.

Build Status Dart Version

Features

Cumulus has the following bonza features:

  • Simple, straightforward configuration of function endpoints
  • Routable endpoints
  • Common interface for routable and non-routable endpoints
  • Named parameters for routable endpoints (e.g.: /users/:id)
  • Querystring parameter parsing

Installing

Cumulus requires Dart 2.0+.. Cumulus requires the new build_runner system to compile with dart2js/dartdevc and these are not available in the Dart 1.x toolchain. You should add the following to your pubspec:

environment:
  sdk: '>= 2.0.0-dev <3.0.0'

To install, add the following line to the dependencies section of your pubspec.yaml file:

dependencies:
  ...
  cumulus: ^1.0.0

You can then import cumulus using:

import 'package:cumulus/cumulus.dart';

Getting started

TBD - how to set up a project using dart

Next, we need to create an instance of a CumulusApp in the main function of your index.dart file. Something like:

void main() {
  CumulusApp app = new CumulusApp.appWithDefaults();
  app.addHandler("/welcome", handler: welcomeHandler);
}

Once this is done, you can define your handlers. For now we will add it to the index.dart file directly. Our handler looks like:

welcomeHandler(HandlerContext context, Parameters parameters) {
  final res = context.response;
  res.statusCode = 200;
  res.headers.contentType = ContentType.JSON;
  res.write(json.encode({
    "message": "HELLO!!!!",
  }));
  res.close();
}

At this point you can run the build and then deploy your function.

FAQ

Why should I use this and not ____?

We prefer you use whatever you want. Cumulus is, most likely, no better or worse than the alternatives.

Cumulus was designed and developed because of an actual need to make working with Firebase Functions easier and faster. Developing apps should be fun, not tedious boilerplate and confusing templates. Hopefully Cumulus works for you personally.

Give it a try and if you like it, let us know! Either way, we love feedback.

Has it been tested in production? Can I use it in production?

The code here is built on top of (mostly) two other libraries:

The Yakka website uses this code in production and Yakka uses it for both internal and external clients as well. That said, code is always evolving. We plan to keep on using it in production but we also plan to keep on improving it. If you find a bug, let us know!

Who the f*ck is Yakka?

Yakka is the premier Flutter agency and a kick-ass product company. We focus on the work. Our stuff is at http://theyakka.com. Go check it out.

Outro

Credits

Again, without the firebase-functions-interop library by Anatoly Pulyaevskiy none of this would be possible. Go and star the project!

Cumulus is sponsored, owned and maintained by Yakka LLC. Feel free to reach out with suggestions, ideas or to say hey.

Security

If you believe you have identified a serious security vulnerability or issue with Cumulus, please report it as soon as possible to [email protected]. Please refrain from posting it to the public issue tracker so that we have a chance to address it and notify everyone accordingly.

License

Cumulus is released under a modified MIT license. See LICENSE for details.

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].