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!

Made with Slides.com