my-buzz-night allows people to share photos in real time inside a private and ephemeral social network.
npm install
npm run build -- --prod
Push your code on ZetaPush platform
npm run deploy
Run your code on your local platform
npm run start
.
└──
├── src (Angular application)
├── worker
│ └── index.ts (api implementation)
└── package.json
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
const api = client.createProxyTaskService();
const message = await api.hello();