HEARIT.IO
Софтуерна академия за незрящи (експериментално)
22.02.2021
─
Предложение за обучение
Емил Узунов
имейл: emil@hearit.io
телефон: +359 885 121 444
бул. “Драган Цанков” 36, офис 325Б
София, 1040
Въведение в програмирането (продължителност три месеца) 4
Сърверно приложение или Backend ( продължителност три месеца) 5
Графично приложение или Frontend (продължителност три месеца) 5
HEARIT.IO (https://hearit.io) възникна като идея да създаде платформа за управление на умен дом за хора със зрителни увреждания в края на 2018 г.
Първоначално обхвата и функциите на системата се ограничаваха до възможността при промяна на настройки на самото устройство (например термостат) през високоговорител свързан към управляващата станция да се извърши гласово известяване (например зададена и актуална температура).
Към функциите беше включено и дистанционно с което чрез гласова навигация да се изпълняват групи от функции като например:
С това се решават следните основни проблема:
Обхвата не включваше възможността системата да се управява дистанционно през интернет, а по-скоро като помощен инструмент на място който да може да работи и без интернет свързаност.
В процеса на работата по проекта, а и благодарение на ценната информация получена в срещите ни с техническият съвет към Съюза на Слепите, решихме да опитаме да направим и уеб базиран интерфейс който с помощта на екранни четци да го направи използваем за незрящи хора.
Резултата надмина очакванията ни многократно. Получи се модерно приложение по последна дума на технологиите което е напълно съвместимо с четци на персонални компютри и мобилни телефони. При това не сме направили никакъв компромис с функционалността и потребителското преживяване както за незрящи така и за останалите потребители.
Оказа се, че в процеса на работа успяхме да създадем компактна и лесна за работа технологична среда независимо, че използваме последните достижения на софтуерната индустрия. Хубавото не е задължително да е трудно и скъпо.
Очевидно е, че няма невъзможни неща, всичко е въпрос на желание и мотивация. Контактите ни със техническият съвет допълнително наляха масло в огъня на мечтите ни а именно:
Искаме да докажем, че е възможно напълно незрящи хора да бъдат пълноценни фул-стек програмисти (включително и графичен потребителски интерфейс!!!) на най-високо професионално ниво. Като при това не става въпрос за единични случаи, а, че е възможна среда и технологична система която да го позволява.
По време на обучението курсистите ще се научат да създават прогресив уеб приложения (Progressive Web Applications) подобни на https://hearit.io. Този тип приложения навлизат много сериозно и очакванията са, че ще заменят найтив аповете за съответните устройства (Андроид и айФон).
Онсовните предимства на прогерсив веб са:
Ще бъде усвоен програмният език JAVASCRIPT в най-съвременния му вариант. Това е един от технологично най-доминантните езици за програмиране през последните години като ръста на приложение непрекъснато расте.
Основните предимства на JAVASCRIPT са:
Това е една от най-важните предпоставки за постигане на целите на този курс. Изборът и създаването на подходяща средата ще бъдат и началната задача в курса. В процеса на работа ще селектираме най-доброто.
Най-важното е избор на редактор.
Предложението е напълно текстовият редактор с който се работи и без мишка и е VIM (https://www.vim.org/) Има го както и под Уиндоус така и на Линукс. Освен това всички гурута на софтуерната индустрия работят с изцяло текстови редактори.
За сървърната част на приложенията ще използваме NODEJS (https://nodejs.org/) който е интерпретаторът на JAVASCRIPT и е приложим както под Уиндоус така и на Линукс. Той включва и базисен Уеб сървър който се използва масово.
Като мотор на нашето PWA приложение за сървър частта ще използваме Fastify (https://www.fastify.io/) уеб апликейшън фрамеворк.
Графичната част ще я разработваме с компонентната библиотека подпомагана от Гугъл Material Design (https://material.io/). Тя е най-добрата библиотека не само като дизайн и визия, но е и разработила всички препоръки на интернет консорциума за достъпност на съдъжанието WIA-ARIA (https://www.w3.org/WAI/standards-guidelines/aria/). Благодарение и на това успяхме да направим HEARIT.IO напълно съвместима с екранните четци.
Ще бъде използвана и системата за коопериране на екипи и работа с софтуерни верси GITHUB (https://github.com/).
Ще бъде предоставен и реален сървър за работа и тестване на приложеният по време на обучението.
Адаптиране и избор на среда за работа със софтуерните продукти.
Въведение в програмирането в исторически план - видове хардуерни и софтуерни платформи и езици.
JAVASCRIPT за начинаещи - история, принцип на работа, синтаксис, оператори.
Въведение в NODEJS, изработване на програмни задачи свързани с обработка на масиви от данни.
Въведение във Уеб технологиите в исторически план.
Въведение в HTML и CSS и изработване на статична уеб страница.
Завършване с изработка на индивидуално задание.
Въведение в уеб фреймуърк Fastify.
Асинхронни операции - кооперативен мулти трейдинг.
Архитектура и скалируемост на сървърните приложения.
Бази данни и начини на съхранение. NoSQL база Redis.
HTML стандарт и протокол. Версии 1.1 и 2.0, технически предпоставки за PWA.
WEBSOCKET стандарт и протокол. Примерно чат приложение.
SSE (SERVER SEND EVENT) стандарт и протокол. Актуализиране на данни без презареждане.
REST базирана архитектура.
Завършване с изработване на индивидуална задача.
Архитектура и библиотеки на Уеб браузъра.
Асинхронна обработка на евенти.
Дизайн на уеб страници, принципа на кутийките - FLEX и GRID.
Библиотека от графични компоненти и тяхното използване - MATERAL DESIGN.
Управление на кеша и работа с сървиз воркър (service worker).
Пуш съобщения и актуализация в реално време.
Многоезично приложение и автоматичен избор на езикови настройки.
Генериране на съдържание и рендеринг на страница - методи и похвати.
Безконечен скролинг.
Вграждане на скрито съдържание в уеб страница и правенето и достъпна според препоръките на WIA-ARIA.
Завършване с дипломна разработка.
Най-добрите ще получат възможност за започване на работа в HEARIT.IO или други софтуерни фирми.
Обучението ще е изцяло дистанционно като се използва платформата ZOOM. Това ще даде възможност за участници от цялата страна.
Заниманията ще се провеждат в извънработно време след 18:00 часа.
Първият етап на обучението ще е два пъти седмично по два часа.
Първоначална група ще е до 7 човека, като часовете и дните ще бъдат уточнявани с участниците.
В хода на обучението са възможни промени с цел напасване към възможността за възприемане и работа.
За модула “Въведение в програмирането” - безплатно, за следващите етапи ще се търси финансиране.