Всичкология

Всичкология е едно Web 2.0 приложение, което представлява всичко необходимо за учениците в тяхната самостоятелна онлайн подготовка. Системата комбинира в себе си модерни и иновативни технологии за постигане на по-голяма ефективност. Тя може да се имплементира във всички сфери на образованието, без значение тематиката или възрастовата група на потребителите. С удобния си и лек интерфейс, тя предоставя всичко необходимо за един ученик – учебници, тетрадки, помагала, като всичко това е пренесено във вълнуващия свят на киберпространството, което го прави максимално достъпно и интересно за учениците. Тя може да бъде намерена на адрес http://vsichkologia.eduow.com.
Тази система е предназначена за самоподготовка на ученици от всички сфери и възрастови групи, по различни по вид учебни предмети. Тя е перфектна за имплементиране от различни организации, които искат да осигурят удобна среда за самоподготовка на своите ученици или курсисти. Нещата, от които се нуждаят те при самоподготовката си са – учебни материали, тетрадки, помагала и консултация със своите преподаватели. Точно тези функции могат да бъдат намери в тази система. Тя предоставя много удобен начин за търсене на материали, като ги групира по тематика и/или по степен на трудност (клас). Учениците могат да отсяват най-същественото от публикуваните материали и да го съхраняват във своите електронни тетрадки. Помагалата, също играят съществена роля при самоподготовката им, защото могат да изградят, доразвият или оценят техните е качества и умения. Не на последно място, учениците могат да комуникират със съученици и преподаватели, което способства за обособяване на една по приятна работна среда, повишаваща качеството на учебния процес.
При разработване на системата, използвахме няколко модерни популярни технологии за уеб разработка – xHTML, CSS, JavaScript(AJAX), PHP, MySQL, Adobe Flash(Action Script), XML и JSON. Както вече приложението е стриктно обектно-ориентирано. Използван е шаблона за дизайн сек(singleton) с MVC. Сек се използва за стартиране на основния клас, който задвижва MVC шаблона. Той дешифрира заявки и зарежда съответните контролери, който зареждат модели и сглобяват изгледи. По този начин се постига голяма преизползваемост на кода, което спестява време при разработването и повишава ефективността на самото приложение. Интересно е, че се използва така наречения похват lazy loading(мързеливо зареждане), при което даден клас не се включва, докато той не бъде повикан. Това се осъществява посредством магическите методи на класовете в PHP 5 и помага за изключително голямото бързодействие на приложението. Теоритически с включването на APC(Alternative PHP Cache) приложението може да обработва до 600 заявки за секунда.
Приложението е изградено от няколко модула. Първият е за управление на потребителите, аутентикация и ауторизация. Втория модул е за управление на публикациите – позволява свободно редактиране, аранжиране, достъп до съдържанието от всеки регистриран потребител на системата. Следващият модул е за комуникация със социалните мрежи, Неговата цел е да пренесе портала в любимите на потребителите приложения. Изграден е и модул за комуникация между потребителите вътре във системата. Важна част от системата е модула за водене на записки от потребителите, който им позволява да систематизират уроците си в удобен за тях вид, така че усвояването на учебния материал да бъде по-ефикасно. Те могат да водят собствен блог, който другите може да четът на персоналната им страница. На разположение на потребителите е и модул с функциите на органайзер, за да могат да организират по-добре ежедневието си.
Първия проблем, който трябваше да решим е изграждането на максимално интуитивен и удобен потребителски интерфейс. Нашата цел не е да запознаваме хората с нова тенденция в уеб навигацията, а да им предоставим лесен достъп до нужната им информация. Постигнахме това, като опростихме дизайна максимално, избягвайки използването на големи по обем графични обекти. При проектирането се обърна голямо внимание на използваемостта с което да се подобри драстично преживяването на потребителя ползващ приложението.
Друг проблем на който обърнахме голямо внимание беше SEO оптимизацията и популяризацията на сайта. За постигане на това сме използвали добре познати техники за SEO оптимизация, които комбинирани с регистрацията на сайта в голям брой каталози и портали, допринасят за неговата популяризация и развитие.
Кода на приложението е добре структуриран, подреден, документиран. Постарали сме се да спазваме всички норми за именуване на променливите и коментиране на кода. Всеки клас със своите методи и свойства е добре документиран. Освен това приложението има и голяма преносимост. Използва абстрактен слой за връзка с базата от данни, което помага за лесната миграция между отделните хостове. Също така се използва и добре балансирано кеширане на няколко нива, което драстично увеличава бързодействието на системата. Обърнато е и внимание на сигурността, като е разположена така наречената периметърна защита. Входните данни се филтрират, а изходните се декодират, което осигурява защита, както на потребителя така и на самия портал. Използват се prepared statements, което помага за по-надеждната защита от SQL инжекции, който са особено опасни за самата система. За защита от XSS атаки използваме вградените функции на рамката на приложението, който фитрират опасните тагове от данните въведени от потребителя. Освен това използвамe разширението HtmlPurifier, което е особено ефективно при защита от XSS атаки и подобряване на семантиката на кода. Бисквитките биват подписвани с помощта на HMAC. Проблем при използването на споделен хостинг са защитата на сесиите. Те се пазят в база от данни, като по този начин биват защитени от фиксиране.
Основен елемент на системата е наличието на мобилна версия. Това спомaга достъпа до сайта на потребители ползващи мобилни устройства с ограничени възможности. Така в благодарение на разпространението на мобилните устройства с достъп до интернет, учениците могат ефективно да използват системата в учебните часове.
С много труд завършихме този проект имащ за цел да направи достъпа до знанието бърз и удобен. Решихме много добре поставената си от нас задача и в крайна сметка се получи продукт,който лесно може да бъде интегриран във всяко едно учебно заведение. Надяваме се в бъдеще този сайт да замени прашните учебници.