GithubHelp home page GithubHelp logo

initlab / fauna Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 8.0 5.37 MB

Small hackerspace management automation system in use by init Lab

License: MIT License

Ruby 80.14% CoffeeScript 0.08% HTML 6.16% JavaScript 0.82% Dockerfile 0.19% SCSS 2.55% Slim 10.06%

fauna's Introduction

init Lab

Общност от компютърни творци, маниаци и любители, обединени около физическото място, моделирано от тях самите, за да се превърне в идеалната вдъхновяваща и стимулираща продуктивността и изобретателността среда.

github.com/initLab/initLab е централното място за комуникация по въпроси, свързани с управлението на init Lab.

Ако имаш идея, питане или забележка за управлението на Лаба, създай ново issue и управителният съвет ще му обърне внимание.

fauna's People

Contributors

3ightbit avatar agit0 avatar alex-milanov avatar andrewradev avatar dependabot[bot] avatar ignisf avatar krokodilerian avatar lz1irq avatar merlijnwajer avatar tochev avatar tsikov avatar user890104 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fauna's Issues

SpaceAPI допълнителни функционалности

  • state['lastchange'] #68
  • state['trigger_person'] (трудно, преди скриптовете за отваряне с телефон да се отчитат във fauna)
  • events (нужна е или връзка с wordpress-а, или да се имплементира функция за въвеждане на събития)
  • sensor['temperature'] sensor['barometer'] sensor['humidity'] cc @krokodilerian
  • sensor['network_connections']
  • sensor['account_balance'] (нужно е да се имплементира модулът за счетоводство)
  • sensor['total_member_count'] (нужно е да се имплементира модулът за членски внос)
  • projects (може да се имплементира функционалност, чрез която всеки член да си листва проектите (които да се показват след одобрение от член на УС))
  • radio_show

DEPRECATION WARNING: [Devise]

DEPRECATION WARNING: [Devise] Changing the sanitized parameters through "Devise::ParameterSanitizer#for(sign_up) is deprecated and it will be removed from Devise 4.2.
Please use the `permit` method to add or remove any key:

  To add any new key, use the `keys` keyword argument:
  devise_parameter_sanitizer.permit(:sign_up, keys: [:param1, :param2, :param3])

  To remove any existing key, use the `except` keyword argument:
  devise_parameter_sanitizer.permit(:sign_up, except: [:email])
 (called from configure_permitted_parameters at app/controllers/application_controller.rb:34)

Разчепкване на редакцията на профил

Да се отделят в отделни страници:

  • Достъп до Лаба – добавяне/премахване на телефони + редакция на PIN (линк към това да се вижда, само когато потребителят може да отключва вратата, да са обособени в две отделни форми, под всяка от които за промяна се въвежда настоящата парола)
  • Данни за контакт – github, twitter, jabber, GPG FP, site

Closes #43

Затягане на сигурността около имейлите за смяна на парола

@skanev изрази резерви към компромисите с UX-а на фауна и по-точно изтъкна, въвеждането на парола при промяна на лична информация е излишно, защото ако някой има достъп до лаптопа ти с логната сесия, вероятно има достъп и до мейла ти и съответно може да промени паролата.

Предлагам чрез email да могат да променят паролата си само хора, които са въвели fingerprint на GPG ключ и може да им бъде изпратен шифриран мейл, а всички останали да трябва да се свържат с член на УС. Представям си реакцията на @skanev при предложението за такова осакатяване на UX-а, какво мислят останалите? @krokodilerian @batruji @vlood @isld?

debian init scripts

който има зор, да си го напише

трябват два инит скрипта, ето ги командите

cd /home/fauna/fauna/current
sudo -u fauna RACK_ENV=production /usr/bin/env bundle exec puma -C /home/fauna/fauna/shared/puma.rb --daemon
sudo -u fauna RAILS_ENV=production /usr/bin/env bundle exec bin/delayed_job start &

Рефакториране на нотификациите за промяна на статуса на вратата

Да се създадат два нови модела – Door::DoorStatusChange Door::LatchStatusChange. Сегашния Door::StatusNotification да бъде рефакториран като модел с две асоциации към новите два модела. Да създава нови записи за всеки от първите два модела само при промяна в статуса. Да бъдат преляти данните от Door::StatusNotification.

Списък с лабъри и тяхното управление

Списъкът с лабъри е чудесен, но би било яко, ако:

  1. има филтър - да показва само УС/доверени/членове;
  2. има сортиране;
  3. не е толкова прекалено лесно член на УС сам да си свали правата (някакво потвърждение би свършило работа, а може би въобще не трябва да може член на УС сам да сваля правата си).

Вероятност за брутфорс за ПИНа на вратата?

Телефонния номер от който се звъни за отваряне на вратата може да бъде spoof-нат, ме информира @vlood. Или пък може да ми откраднат телефона и да звънят от него. Или пък просто да звъннат от булфона долу, който позволява да си въведеш номера преди ПИНа. За лошите остава препятствието да уцелят пина ми. Какво им пречи обаче да го брутфорснат, ръчно или автоматизирано? Колкото и дълги да са пиновете, брутфорса си е възможен.

Не съм експерт по сигурността, така че не знам обикновено как се решава този проблем. Знам че СИМ картите (и дебитните карти) след 3 грешни опита се заключват, и първите искат PUK код, а за вторите - май трябва да си извадиш нова карта от банката.

  • Вариант е след 3 грешни опита да се изисква 30мин изчакване преди следваща проба.
  • Друг вариант е след 3 грешни опита да се изисква да се verify-неш че си ти, като цъкнеш бутон в уеб интерфейса (аналогично на PUK код).

Някой който разбира от сигурност да каже как е най-правилно!

При кражба на телефон/PC какво става?

Да кажем че съм логнат във фауната от телефона ми и ми го откраднат. След това по някакъв начин ънлокнат телефона злонамерено (а знаем че това е възможно) и влязат във сесията ми във фауната. Тогава нищо не ги спира да отключат вратата от уеб интерфейса.
Мислено ли е по въпроса?
На смартфона на @vlood като че ли всеки път като switch-неш away от браузър прозореца (или заключиш телефона) те логаутва от фауната. Но не сме го тествали много.

Timeout на отключването (още малко security)

Не знам дали няма вече такова нещо, но мисля че при отключване на вратата, тя трябва да се заключва отново ако не е отворена в някакъв времеви интервал, примерно минутка-две.

При редакция на профила с грешна парола, се пази изтрито поле след рефреша

Ако се опитам да си редактирам профила, и изтрия телефонен номер, но вкарам грешна парола, след рефреша изтрития номер още е там и трябва да го изтрия пак. Също така, хикса на съобщението след като редакцията е успешна, не го скрива (това не е важно ама изглежда счупено)

Mobile-friendly версия

Здравейте! Ето как изглежда фауната от мрежова гледна точка:
fauna
Сега си представете как някой чака пред вратата минута и половина, защото тези 718 kB се зареждат за толкова на мобилно устройство, ако скоростта на връзката му е средно 8 kB/s (или 45 секунди ако е на 16).
Възможно ли е да се направи супер-lightweight версия (не повече от 10-20 kB общо), и да се сервира само на мобилни устройства?
Наясно съм, че веднъж след като тези файлове се заредят, браузъра ги кешира, но от гледна точка на UX е ужасно да чакаш минута за шрифт или грид, при положение че щом го отваряш на мобилно у-во, търсиш функционалност.

Промяна на телефон трябва да води до лишаване на правата на тоя телефон до отваряне на вратата

Промяна на телефон трябва да води до лишаване на правата на тоя телефон до отваряне на вратата, докато не бъде одобрен (маркиран?) от баш-администратор на системата. Баш-администратор на системата е някой като Петко или друг от УС, който умее да си заключва компа, когато не е на него.

Това е моето мнение, което не знам като имплементация колко ще е лесно.

-- @vlood

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.