- Отримати з API Freelancehunt усі відкриті проєкти.
- Зберегти необхідні дані про ці проєкти у базу даних.
- На одній веб-сторінці відобразити для користувача:
- Таблицю з відкритими проєктами та можливістю фільтрації за категоріями (наприклад, “Веб-програмування”, “PHP” тощо).
- Назву проєкту (гіперпосилання на сторінку проєкту на Freelancehunt).
- Бюджет (сума + валюта).
- Оскільки валюта може бути UAH, USD, EUR або PLN, відобразіть у таблиці інформацію про валюту.
- За бажанням ви можете перерахувати бюджети в базову валюту, яку обрав користувач.
- Ім’я та логін замовника.
-
Мова бекенду: PHP 8.2+
- Дозволено використовувати будь-які бібліотеки з Packagist (наприклад, для HTTP-запитів, dependency injection, ORM тощо).
- Проте не можна використовувати “великий” готовий фреймворк (Symfony, Laravel тощо). Важливо продемонструвати власний підхід до організації коду.
-
Фронтенд: Vue.js + TypeScript
- Бажано використати Tailwind CSS для стилізації (мінімальна інтеграція, щоб побачити, як ви його налаштовуєте).
- Використовуйте TypeScript там, де це можливо (наприклад, у файлах
<script lang="ts">
).
-
База даних
- Можна обрати будь-яку: MySQL, PostgreSQL тощо.
- Зберігати всі поля з API необов’язково; вистачить лише тих, що потрібні для відображення.
-
Вебсервер / Docker
- Достатньо вбудованого вебсервера PHP, але можете використовувати nginx/apache тощо.
- Використовуйте Docker/Docker Compose.
-
Додаткові побажання (не обов’язкові, але будуть перевагою):
- Пагінація та сортування (за бюджетом, назвою, датою створення тощо).
- Проста система кешування або обробка помилок API (rate limits, недійсний ключ тощо).
- Кілька мінімальних тестів (unit / integration / end-to-end), що демонструють ваш підхід до тестування.
- Готовий код має бути завантажений у публічний (або доступний за посиланням) репозиторій GitHub/GitLab/Bitbucket.
- Надіслати посилання на репозиторій на yaroslav@freelancehunt.com.
- У README.md додати інструкцію з запуску проєкту:
- Згадати, як налаштувати змінні оточення (API ключ), базу даних.
- Кроки для встановлення залежностей (
composer install
,npm install
тощо). - Кроки для запуску.
- Якщо частину розширених завдань не встигнете, можете позначити це у вигляді TODO.
- Отримання доступу до API Freelancehunt
- API-документація Freelancehunt
- Вам буде потрібен лише один API-endpoint для отримання списку проектів:
curl 'https://api.freelancehunt.com/v2/projects' --header 'Authorization: Bearer XXXXX'
- Вам буде потрібен лише один API-endpoint для отримання списку проектів:
- Після надсилання посилання на Git-репозиторій ми домовимося про Google Meet, де ви розкажете про свою реалізацію, поясните прийняті рішення та продемонструєте, як все працює.
- Під час розмови обговоримо ваш підхід до коду, архітектури та ваших ідей щодо оптимізації цього проєкту.
Бажаємо успіху й чекаємо на вашу реалізацію!