Поточна адреса веб-сайту: http://grechaforfans.herokuapp.com/index.html
- Додаток побудований на основі клієнт-серверної архітектури.
- Пошук гречаної крупи відбувається по трьох українських онлайн-магазинах (rozetka.com.ua, prom.ua, epicentrk.ua).
- Додаток опублікований за допомогою Heroku.
- У якості клієнту виступає статичний веб-сайт, створенний з використанням "чистого" javascript (див. папку "client" в репозиторії).
- Клієнт дозволяє сортувати гречану крупу як по зростанню, так і по спаданню ціни. Також присутня фільтрація за вагою.
- Дані оновлюються при оновленні сторінки.
- Клієнтський веб-сайт розробленний з використанням адаптивного дизайну.
- У якості клієнту виступає відкрите API на основі Asp.Net Core Web API (див. папку "server" в репозиторії).
- Парсинг відбувається за допомогою selenium.
- Дані зберігаються у реляційній базі даних. Керування моделлю та даними здійснюється за допомогою EF Core. У якості провайдеру даних використовується SQLite, проте архітектура дозволяє з легкістю перейти на більш production-ready рішення, такі як Postgres.
- При публікації серверного додатку використовується Docker.
- Для документації rest-API використовується Swagger.
- Оскільки наше API є повністю відкритим, ви можете самостійно спробувати його за цією адресою. Там ви знайдете усю необхідну документацію.
- Для публікації серверного додатку використовується Docker. Ми зібрали кастомний image на базі Debian, що містить google-chrome, chromedriver та .net core runtime, необхідні для запуску проекту у контейнері, та опублікували у docker hub (matthewkirik/debian-with-chrome). На його основі і будується image самого додатку.
- Щоб спробувати API локально, перейдіть до папки server та послідовно виконайте команди
docker build -t grechaforfans .
іdocker run --env-file ./env.list -it --rm --mount source=buckweat_data,target=/app/db -p 5003:5003 grechaforfans
. За необхідності, змініть Dockerfile. API буде доступне локально за адресою http://localhost:5003/. - У якості альтернативного варіанту, можна відкрити .sln файл з папки server у Visual Studio та запустити. (Протестовано для Visual Studio 2019). Docker у цьому разі використовуватись не буде.
- Проект опубліковано на Heroku. інструкція
- Клієнт є статичним сайтом, тому його можна запустити за допомогою будь-якого веб-серверу (IIS, nginx, тощо). Найпростішим варіантом є використання розширення Live Server для VS Code, або аналогічних йому для інших редакторів / середовищ програмування. Також можна швидко опублікувати його у Heroku за допомогою git (посилання на інструкцію нижче).
- Клієнт опублікований за допомогою Heroku. інструкція