Skip to content

RadinTiholov/KnowledgeBarter-Olympiad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Обмен на знания (Knowledge Barter) (Update: The application secured third place in the national Olympiad in which it participated)

  1. ТЕМА: Knowledge Barter
  2. АВТОРИ:

Радин Николаев Тихолов

Мартин Мариов Христов

  1. РЕЗЮМЕ:
    1. Цели: Предназначението на изготвения продукт е да покаже, че знанието е свободно, но за да получиш достъп до него трябва да положиш усилие. Платформа предоставя лесно и качествено разпространение на знания. Чрез приложението се стремим да улесним възможността потребителите да обменят уроци и курсове, създадени от тях. Потребността от софтуера е също толкова голяма, колкото нуждата от развитие на личността.

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

  1. Основни етапи в реализацията на проекта:
    1. Зараждане на идеята
    2. Идентификация на потребностите и определяне на целите
    3. Взимане на решение за архитектурен дизайн
    4. Проектиране на изпълнението на задачата и разпределение на ролите
    5. Синхронна реализация на отделните компоненти на софтуера
    6. Създаване на автоматизирани тестове за бизнес логиката на приложението
    7. Пускане на приложението в реална среда
  2. Логическо и функционално описание на решението:

Приложението използва RESTful уеб архитектура за комуникация между различните си модули. Модулите, от които е изградено са клиентско приложение, базирано на React, сървърно приложение изградено чрез екосистемата на .NET, комуникиращо с MSSQL база от данни, и външни доставчици на уеб услуги като Cloudinary, DropBox, SendGrid и други. Функциите на модулите са:

  1. Клиентското приложение служи за визуализация и за лесно боравене с функционалностите на продукта.
  2. Сървърното Web API приложение е изградено чрез ASP.NET Framework и технологии като: Entity Framework Core, AutoMapper, ML.Net, XUnit, Moq. В него е отделена бизнес логиката, която е разпределена в отделни услуги.
  3. Базата от данни използва MSSQL, следствие от нуждата за релационна връзка между моделите.
  4. Външните уеб услуги предоставят лесен подход за допълване на нуждата от функционалности.

  1. Реализация:

Технологичните средства за реализиране на приложението, които използвахме са Visual Studio Enterprise, Visual Studio Code, Microsoft SQL Server Management Studio и GitHub Desktop. Избрали сме ги, защото позволяват удобно писане на код и разработка, имат богат инструментариум, подходящ за такъв тип проект.

  1. Стартиране, използване и поддръжка:

Стартирането на приложението е изключително лесно, то се изразява в отварянето на хипервръзка (https://knowledge-barter.web.app). Целта ни е лесен достъп дори от най-малките потребители. Използването на платформата се изразява в създаването и достъпването на съдържание. Поддръжката на подобно приложение, ще зависи изцяло от потребителската активност и нужди. Тя ще се осъществява чрез оптимизиране, рефакториране и подобряване на софтуера.

  1. Заключение:

Основният резултат от разработката е създаване на платформа за лесно и качествено разпространение на знания. Възможностите за развитие и усъвършенстване на приложението са разрастването на екипа, превод и популяризирането.

About

Knowledge barter is a web application for exchanging lessons on different topics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •