Проєкт Python FastAPI + PostGIS - 6-7 тижнів
Ми хочемо оцінити ваші практичні навички роботи з FastAPI, PostgreSQL + PostGIS та обробкою геопросторових даних.
Ви реалізуєте невеликий REST API з використанням FastAPI та PostGIS, щоб підтримувати геопросторові операції.
Тест включає 4 типи проектних завдань, кожне з яких спрямоване на різні навички:
📦 Типи завдань
API для введення GeoJSON
Створіть кінцеву точку, яка прийматиме полігони у форматі GeoJSON і зберігатиме їх у базі даних.Просторовий запит з обмежувальним прямокутником
Реалізуйте кінцеву точку, яка повертає всі полігони, що перетинають заданий обмежувальний прямокутник.Асинхронний доступ до бази даних
Використовуйте асинхронний FastAPI з відповідними драйверами баз даних для отримання геопросторових даних.Серіалізація даних
Забезпечте повернення геопросторових даних у правильному форматі GeoJSON клієнту.
📘 Інструкції
Вам потрібно:
Використовувати FastAPI як веб-фреймворк
Використовувати PostgreSQL + PostGIS як базу даних
Додати Docker конфігурацію, якщо можливо
Використовувати async там, де це можливо
Дотримуватися кращих практик REST
Ми терміново шукаємо Middle або Senior Python Backend Developer з міцним досвідом у PostGIS та FastAPI, щоб приєднатися до нашої команди для високоприоритетного проекту, орієнтованого на ГІС.
🔧 Огляд проекту
Ви будете працювати над геопросторовою платформою, яка обробляє великі обсяги даних, включаючи зберігання полігонів та просторові запити. Бекенд побудований на FastAPI, а PostGIS широко використовується для просторових операцій.
Це не побічний проект — нам потрібен повністю відданий і готовий до роботи з перших днів кандидат.
🛠️ Вимоги
5+ років досвіду з Python
Глибокі знання FastAPI
Міцний практичний досвід з PostgreSQL + PostGIS (типи геометрії, просторове індексування, продуктивність)
Здатність обробляти та зберігати великомасштабні геопросторові дані
Впевнена робота з оптимізованими запитами та налаштуванням продуктивності
Знайомство з Docker, Git, асинхронним Python
БЕЗ АГЕНЦІЙ, БУДЬ ЛАСКА.
📍 Деталі співпраці
Дата початку: якнайшвидше (бажано в понеділок)
Тривалість: 6–7 тижнів (повна зайнятість)
Доступність: очікується, що ви будете повністю віддані цьому проекту під час робочих годин (не часткова зайнятість)
Комунікація: активна доступність у Slack, Zoom/Google Meet для дзвінків, щоденні асинхронні або синхронні перевірки