Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
public
src
worker
.gitignore
README.md
package.json
tsconfig.json

README.md

ZetaPush Celtia Example

Katacoda

You don't want to install anything ? Try it on Katacoda !

Installation

npm install

Vue.js build

npm run build -- --dest front

Deployment

Push your code on ZetaPush platform

npm run deploy

Development

Run your code on your local platform

npm run start

Project structure

.
└──
  ├── public (Vue.js public folder)
  │  └── index.html
  ├── src (Vue.js application)
  │  ├── components
  │  │	└── HelloWorld.vue
  │  ├── assets
  │  ├── App.vue
  │  └── main.js
  ├── worker
  │  └── index.ts (api implementation)
  └── package.json

How it works?

Server side

Your server api in a plain old class defining your interface.

Example:

export default class Api {
  hello() {
    return `Hello World from Worker ${Date.now()}`;
  }
}

This code expose an API called hello which returns a string "Hello World from Worker" concatened with server timestamp.

You can use injected platform services with to following.

Dependency injection use injection-js

const { Injectable } = require('@zetapush/core');
const { Stack } = require('@zetapush/platform-legacy');

export default class Api {
  constructor(private stack: Stack) {}
  push(item) {
    return this.stack.push({ stack: 'list', data: item });
  }
  list() {
    return this.stack.push({ stack: 'list' });
  }
}

To consume an API in your front-end application you have to create a mapped method.

Client side

Register your API mapping class

const api = client.createProxyTaskService();

Invoke your remote API method

const message = await api.hello();