Skip to content

MatthewKirik/GrechaForFans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GrechaForFans

Веб-додаток, створенний для хакатону INT20H командою HellHunters.
Поточна адреса веб-сайту: 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. інструкція

About

Just Grecha for people who love Grecha

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •