NginX

Node Process

fs.watch/inotify

Crontab

static files ~ ssl ~ gzip ~ http cache
proxy to upstream node process

users.json

devices.json

finance.json

stats.json

events.json

facebook-events-sync

online.json

Browser

VarnaLab Stack

Проблеми

Как ще определим кой е член ...
трябва да си е плащал членски внос за последните 3 месеца ...
но трябва да има и някаква минимална вноска на месец ..

Хората които влязат на сайта ни виждат последно събитие от 2016-та
Като вляза на сайта и погледна Whois списъка, виждам само някакви странни host names ..

Входни Данни

Финансов Отчет
Google Spreadsheet

Рутера в Лаба
varnalab-cli

Събития във Facebook
Facebook Група
Facebook Страница

Кой е в Лаба

Като вляза на сайта и погледна Whois списъка, виждам само някакви странни host names ..

устройства и Потребители

Модули

Финанси

Как ще определим кой е член ...
трябва да си е плащал членски внос за последните 3 месеца ...
но трябва да има и някаква минимална вноска на месец ..

Backer - човек, който поддържа дадена идея чрез:
присъствието си, действията си, работата си, помощта си, парите си ...

Sponsor - човек или организация, която поддържа дадена идея,
най-често финансово и с рекламна цел

#Functional Programming
#DATA TRANSFORMATION
#Pure Function
#Module
#File

Модул

Събития

Хората които влязат на сайта ни виждат последно събитие от 2016-та

"VarnaLab"
"VarnaLab - ул. Пенчо Славейков 50"
"Varna Lab"
"Varnalab"
"ул. „Пенчо Славейков" 50, Варна / VarnaLab"
"Варна Лаб"
"ул.Пенчо Славейков 50 / VarnaLab"
"Варналаб"
"ВарнаЛаб "
"ул. „Пенчо Славейков" 50, Варна"
"Варна, ул. Пенчо Славейков 50"
"ул. Пенчо Славейков 50"
"VarnaLAb"
"VarnaLab "
"[VarnaLab]"
"ул. Пенчо Славейков 50, Варна"
"VarnaLab - ул. „Пенчо Славейков" 50."
"VarnaLab - ул. „Пенчо Славейков" 50"
"ул. Пенчо Славейков 50 партер, пише Варна Лаб"
"Варна Лаб, ул. Пенчо Славейков 50"
"Варна, ул. Пенчо Славейков 50 партер, пише Варна Лаб"
"Варна Лаб, ул. Пенчо Славейков 52"
"Варна Лаб ул. Пенчо Славейков 50"

Kомбинирано от Facebook групата и Facebook страницата на VarnaLab до тук имаме 454 уникални Facebook събития.

Общо 117 събития са въведени
по някой от следните начини:

От тях 225 са създадени с местоположение физическият адрес на VarnaLab.

Финално от 454 събития -
349 са се състояли в лаба.

Модули

facebook dump/sync модулите

Бонус

Application Server

grant

/grant

lure

/invite

varnalab-api

/varnalab

Middlewares

/api

/api

/send

/users

/connect/provider/app?

/auth

/whois

/finance

/events

/slack

/login
/login/callback

/online
/known
GET POST PATCH DELETE

/prefix?

/
/stats
/backers

/?offset&limit
/upcoming

/whois
/events

App

Database

  • On Linux systems, this uses inotify
  • On BSD systems, this uses kqueue
  • On macOS, this uses kqueue for files and FSEvents for directories.
  • On SunOS systems (including Solaris and SmartOS), this uses event ports.
  • On Windows systems, this feature depends on ReadDirectoryChangesW.
  • On Aix systems, this feature depends on AHAFS, which must be enabled.

JWT

--> https://varnalab.github.io

GET https://box.outofindex.com/varnalab/api/auth/login

~ GET https://box.outofindex.com/grant/connect/github/varnalab-app

~ GET https://github.com/login/oauth/authorize?response_type=code

~ GET https://box.outofindex.com/grant/connect/github/callback?code=

~ POST https://github.com/login/oauth/access_token

GET https://box.outofindex.com/varnalab/api/auth/login/callback

GET https://api.github.com/user
GET https://api.github.com/user/teams

--> https://varnalab.github.io?jwt=

Crontab / SystemD

Модули

Proxy Server

  • static files
  • ssl
  • gzip
  • http cache
  • proxy to upstream node process

api.varnalab.org

app.varnalab.org

slack/github.varnalab.org

UX/UI

toolbar
drawer
card
list

Material Design

Prorgressive Web App

BUild

197 KB - material-components-web.min.js

150 KB - concatenated dist min files

100 KB - custom webpack build

   80 KB - rollup bundle

   16 KB - gzipped

~ 30 KB JavaScript - Frontend Framework, Material Components, Application Logic
~ 16 KB CSS - Material Components, Application Styles

= 50 KB Application Source Code

~    2 KB logo.png
~ 23 KB matrix.png
= 25 KB Images

~ 47 KB Material Icons Font

Static Assets

Модул

До Тук

s@nuc:~/github$ cloc varnalab-api/bin/ varnalab-api/lib/ varnalab-api/mw/ varnalab-api/route/ varnalab-cli/bin/ varnalab-cli/lib/ varnalab-finance/bin/ varnalab-finance/lib/ varnalab-server/bin/ varnalab-server/lib/ varnalab-server/mw/ varnalab-whois/bin/ varnalab-whois/lib/
      43 text files.
      43 unique files.                              
       0 files ignored.

github.com/AlDanial/cloc v 1.68  T=0.09 s (458.9 files/s, 22165.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                      43            360             57           1660
-------------------------------------------------------------------------------
SUM:                            43            360             57           1660
-------------------------------------------------------------------------------
s@nuc:~/github$ cloc varnalab.github.io/mithril/
      32 text files.
      32 unique files.                              
       0 files ignored.

github.com/AlDanial/cloc v 1.68  T=0.06 s (532.5 files/s, 20333.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                      32            154             15           1053
-------------------------------------------------------------------------------
SUM:                            32            154             15           1053
-------------------------------------------------------------------------------

1600 реда код с префикс `varnalab-` ~ cli ~ whois ~ finance ~ api ~ server

1100 реда код за browserside приложението `varnalab.github.io` (mithril)

s@nuc:~/github$ cloc slack-incoming-facebook/bin/ slack-incoming-facebook/lib/ slack-incoming-trello/bin/ slack-incoming-trello/lib/ slack-incoming-twitter/bin/ slack-incoming-twitter/lib/ slack-incoming-quotes/bin/ slack-incoming-quotes/lib/ lure/api/ lure/bin/ lure/lib/ lure/mithril/
      20 text files.
      19 unique files.                              
       1 file ignored.

github.com/AlDanial/cloc v 1.68  T=0.06 s (324.4 files/s, 17381.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                      19            192             22            804
-------------------------------------------------------------------------------
SUM:                            19            192             22            804
-------------------------------------------------------------------------------

До Тук

800 реда код за `slack-incoming-` Hooks ~ facebook ~ trello ~ twitter ~ quotes
+ Invitations модула ~ `lure`

Общо

3500 реда код без ~ тестове ~ конфигурация ~ документация

VarnaLab Stack

By Simeon Velichkov