Skip to content

Marusyk/SmartVillageOnline

Repository files navigation

SmartVillage-Online

test deploy on http://svonline.apphb.com/
Build status: Build status

І. What is Smart Village?
Система «Розумне село» є єдиною, здатною до масштабування та адаптації, інформаційною системою, що призначена для автоматизації діяльності сільських і селищних рад по веденню погосподарських книг, статистичного обліку землі, нерухомості, транспорту, свійських тварин і худоби у відповідності до норм законодавства України, а саме Наказу Держкомстату від 08.12.10 р. № 491 про затвердження нової Інструкції з ведення погосподарського обліку в сільських, селищних та міських радах.
Більше інофрмації на офсайті: http://sisoftware.biz/products/smart-village/

II. What is Smart Village - Online?

Система “SmartVillage-Online” є веб-додатком який побудований на основі нових технологій за концепцією SaaS і є аналогом desktop-версії програми Smart Village

IIІ. Аrchitecture
В загальному архітектура має такий вигляд: Image of Yaktocat

Більш детальна схема архітектури

Image of Yaktocat

IV. Instruments
Перелік інструментів які використовуються:

UPDATE
З 12.2015 проект повністю перенесено на нову платформу .NET 4.6 де використовується новий компілятор Roslyn і синтаксис C# 6.0

.....

VI. UnitTests
Проект призначений для створення юніт-тестів. Ми збираємося слідувати підходу Test-driven development (TDD).
Для створення тестів за технологією TDD слід дотримуватися таких пунктів:

  • Визначаємо, що нам потрібно додати нову функцію або метод в додаток.
  • Пишемо тест, який буде перевіряти поведінку нової функції, до того як вона буде написана.
  • Запускаємо тест і отримуємо негативний результат.
  • Пишемо код, який реалізує функцію.
  • Знову запускаємо тест і коригуємо код, поки тест не виконається успішно.
  • Якщо потрібно, оптимізуємо код (проводимо рефакторинг), наприклад, реорганізація виразів, перейменування змінних і так далі.
  • Запускаємо тест, щоб підтвердити, що зміни не вплинули на поведінку доповнень

В методах модульного тестування потрібно дотримуватися патерну [arrange/act/assert(A/A/A)](http://www.arrangeactassert.com/why-and-what-is-arrange-act-assert/)
Одним з хороших підходів полягає в використанні [mock-об’єктів](https://en.wikipedia.org/wiki/Mock_object), які симулюють функціональність реальних об’єктів проекту. Mock-об’єкти дозволяють звузити фокус тестів, так щоб можна було перевірити тільки той функціонал в якому ми зацікавлені.

Image of Yaktocat

VII. WebUI
WebUI - є проектом ASP.NET MVC.

Image of Yaktocat

Але в першу чергу реалізує програмний інтерфейс WebAPI, який дозволяє легко створювати служби HTTP для широкого діапазону клієнтів, включаючи браузери і мобільні пристрої. WebUI - є RESTful додатком на платформі .NET Framework.
Реалізація клієнтської частини:

Image of Yaktocat

Додаткові інструменти:

Releases

No releases published

Packages

No packages published