Happy Birthday!
2019 Recap
Guild tasksĀ
Guild tasks participants
22

14
Contributors
Best Sage FeaturesĀ


2019
Cache Client
Jonathan Sellam
import { cache } from '@sage/toolkit';
const myCache: LocalCache = cache.createLocalCache({
name: 'users',
stdTTL: 60
});
// set data
await myCache.set('123', 'cde');
// Get data
const data = await myCache.get('123');
Maor Moshe
Tomer Levy

Ido Kan-Tor




HTTP Client
Muhamed Younis

import { httpClient } from '@sage/toolkit';
const hc = httpClient.create({timeout: 5000}, 'Amelia');
const { data } = await hc.get('/api/v2/campaings/1234');
Asaf Mazar
MySQL Client
Ohad Shivak

import { mySqlClient } from '@sage/toolkit';
sqlClient: MySqlClient = mySqlClient.create({
host: config.get('connections.mysql.host'),
port: config.get('connections.mysql.port'),
user: config.get('connections.mysql.user'),
password: config.get('connections.mysql.password'),
database: config.get('connections.mysql.schema')
});
const query = 'SELECT * FROM obus_user WHERE obus_id = ?';
const { results } = await this.sqlClient.query(query, [123]);
LDAP middleware
import { ldapMiddleware } from '@sage/toolkit';
...
this.app.use('/api', ldapMiddleware());
Asaf Mazar
Sage Generator
Tomer Levy


Shai Boharon
npx @sage/generator create
[16:57:07] Starting 'obnode:default'...
? What is the name of your project? SageIsAwesome
? What is the description?
? What is the version of your project? 1.0.0
? What is the owner name? frontendguild
? What is your project type? Typescript + webpack (recommended)
? Continue? Yes
Running npm install, please wait...
***************************************
_
/(|
( :
__\ \ _____
(____) `|
(____)| |
(____).__|
(___)__.|_____
Congrats, your service is ready!
Now run it:
$ npm run build && npm start
And browse to:
http://localhost:7100/sageisawesome/api/welcome
Or
http://localhost:7100/sageisawesome/static
***************************************
[16:57:53] Finished 'obnode:default' after 46 s
[slush] Scaffolding done
Sage Service Dashboard
Shlomi Tamar
Shai Azulay



Memcached Client
import { cache } from '@sage/toolkit';
const myCache: Memcached = cache.createMemcachedClient({
name: 'campaigns-cache',
memcacheCluster: 'memcached-amplify'
});
// set data
await myCache.set('2423424534', JSON.stringify(campaign));
// Get data
const data = await myCache.get('2423424534');

Asaf Mazar

Tracing
Tomer Levy


Jonathan Sellam


E2E\UI Tests


622
58,729
14
Teams
Tests
Runs last month
Deleted all selenium tests
Deleted all protractor tests
E2E POC
Matjaz Suber
Maor FrankelĀ


Jure Bajt







Kubernetes Infra
Shahaf Sages
Alex Karasik
Dimitry Boguslavsky
Alon Lutzker





Jenkins Integration

Shai Azulay

Widget/Vidget tests
Polina Dulman

Erez Attar


Style Guide

Styles & Components
Maor Moshe
Adina Shabi
Ilan Berko
Hadas Segal
Alaa Hleihil






Ariel Zusman

Icons Library
Yaniv Golan
Tomer Levy
Amir Groisman
Tammy Hadari





Ohad Shivak

Engage & Amplify dashboards integration
Yaniv Golan

Alaa Hleihil

Maor Moshe

& much more
FlagFlipper improvements - Hadas Segal
Sage security audit - Alon Golan
Code Reviews
Code Sharing with npm and artifactory
Serviceless Pipelines
Service Alignment (almost everyone)


2020
Thank YOU!
2019 Guild Summary
By Tsachi Shushan
2019 Guild Summary
- 607