GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.6K subscribers
2.09K photos
75 videos
207 files
1.19K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
Прошедшую неделю официально объявляю неделей офферов, а январь - месяцем активного найма 💪


После того, как я несколько раз написала в канале, что для нас действительно важно и приятно знать, что вы растёте в карьере с GetAnalyst, то нам в ЛС стали чаще приходить новости об офферах 🎉

Только за эту неделю 5 радостных сообщений почти по всем программам ⚡️ включая начинающих СА

👉 Так что если кто-то думает, что в январе "мертвый месяц" для найма и все только-только отходят от праздников - это не так.


А еще я вижу, как команда трудится над оформлением историй студентов за конец прошлого года. Их много!


Душа радуется за всех вас!
И появляется еще больше неугасающего желания делиться и создавать лучших специалистов в IT!

а не умельцев проходить собеседования


Одну историю и несколько ярких сообщений публикую в картинках к посту.

Спасибо каждому из вас за время на обратную связь ❤️‍🔥

Искренне ваши,
Екатерина Ананьева,
и команда GetAnalyst

#студентыGetAnalyst
🔥14👍4❤‍🔥32😁2🥰1👏1
ElibraGA by GetAnalyst - Database.png
230.8 KB
Прежде чем сделать JSON: подготовительные шаги

На прошлой неделе поделилась с вами книгой по JSON (в комментарии добавила версию для печати). В ней я показываю все необходимые примеры, но…

Чтобы научить вас делать JSON к реальным проектам, давайте применять эту книгу к одному из них: онлайн-библиотека с покупкой книг по подписке #ElibraGA.



👉 От чего зависит вид JSON-объекта:
+ для какого экрана(-ов) мы его делаем,
+ какая БД в проекте,
+ для какого метода REST API мы его делаем.



👉 Знакомлю вас с #ElibraGA:

Макеты приложения в Figma - основные экраны пользовательского МП (моб. прил.)
Ссылка на Figma

+ авторизация и регистрация
+ книги, поиск и фильтры
+ избранное
- экран оплаты подписки не показан, но он есть 🙂


БД проекта (ER диаграмма в Draw.io)
Ссылка на dbdiagram.io

+ ключевые таблицы: user (пользователь), subscription_tariff (тарифы), user_subscription_tariff (история тарифов пользователя, включая текущий), book (книга), user_book_purchase_history (история покупок книг по подписке)

+ ‼️Обратите внимание, БД не просто в draw.io, а интегративная - сделана через код в dbdiagram.io (иногда нужен VPN): все связи можно проверить, каждое поле прокомментировано



👉 Как мы будем это использовать:
1. Выбираем экран и определяем, какое действие для него требуется — это метод REST API: тип и URL.

2. Анализируем данные, отображаемые на экране, и выделяем ключевую сущность.

3. Продумываем, на каких ещё экранах и в каких приложениях системы будут использоваться данные этой сущности.

4. Смотрим, какие данные есть по ключевой и связанным таблицам в БД, чтобы ничего не упустить.

5. Проектируем полный объект JSON, который будет использоваться для ответа метода GET /object/{objectId} с полной информацией о сущности.

6. На основе полного JSON начинаем формулировать требования к JSON-запросам и ответам для всех методов, связанных с этой сущностью, начиная с метода, выбранного в пункте 1.



👉 Подготовительную часть сделали!

Можем переходить к проектированию JSON-ов!


#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥155😁2🤩2👍1
Завершаем предзапись на REST API | с 4 февраля

Актуально добавить знания и опыт по REST API в резюме и портфолио? Тогда рекомендую посмотреть нашу практическую программу:

💻 Дизайн REST API
🗓 Старт 4 февраля 2025

Уникальный поток с новым форматом:
⚡️ +3 месяца доступа к материалам и обратной связи (9 мес)
⚡️ +3 онлайн-встречи
⚡️ +1 проект

Результат - 2 проекта в портфолио:

Постановки задач и документация в Confluence
Postman-коллекции и интерактивная API-документация
Swagger-документация
Работающие на загрушках ваши API-методы (mock api)

🔗 Узнать подробности и записаться


🗓 До 27 января
Запись на самых выгодных условиях с дополнительным обучением по БД в подарок.


Есть вопросы? Пишите @getanalyst или заполняйте анкету предзаписи. Мы свяжемся с вами, поможем оценить текущие навыки и ответим на вопросы! 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
GetAnalyst_Как_создать_JSON_для_REST_API_Пошаговый_алгоритм.pdf
2.2 MB
📚 Как создать JSON для REST API метода - пошаговый алгоритм на примере проекта #ElibraGA 📚

Подготовила для вас практическое руководство по созданию полного JSON-объекта с примером из реальной жизни.

Полный дизайн JSON-объекта - это, как правило дизайн ответа для метода получения полной информации об одном объекте GET /object/{objectId} (пример: GET /books/{bookId}).

Создается первым, чтобы переиспользование его далее во всех запросах и ответах методов REST API.

То есть аналитика на самом деле делается не для одного метода REST API, а сразу для всех POST, GET, PATCH и других методов, нужных для управления данными об объекте.

Алгоритм:

0. Выделить список всех методов, где будет использован объект.
Результат: список методов POST, GET, PATCH и других для управления данных об одном объекте, для всех ролей пользователей.
Создается с использованием
CRUD-модели.


1. Составить список входных и выходных параметров для каждого метода.
Результат: Список параметров на русском или другом языке под каждый метод POST, GET, PATCH и другие.


2. Проверить по БД, что ничего не потеряли, и все нужные данные использованы.
Результат: Список параметров полного JSON-объекта может быть обновлен и дополнен. Иногда после этого шага дорабатывается БД.


3. Собрать JSON
Из сложного на этом этапе только понять, что лучше сделать вложенным объектом, что в массив, а что оставить в “плоском списке”.
🔗
Руководство
по JSON
тут

🔗
Как понимание БД помогает при создании JSON

🔗
Онлайн-валидатор JSON


Результат: Полный JSON-объект для дальнейшего использования в методах REST API.

4. Использовать результат для создания JSON запросов и ответов отдельных методов.


Детальный разбор шагов на реальном примере есть в книге к посту ☝️

#RestApiGA
❤‍🔥18👍133🔥2
🔥 1-3 февраля | Открытый урок по REST API 🔥

Если бы мне снова пришлось осваивать проектирование REST API самостоятельно и с нуля, мои шаги были бы следующие:

1. Найти 5 публичных REST API-документаций.
2. Зарегистрироваться в Postman.
3. Получить доступ к этим API. Протестировать каждый из них через Postman, глядя одновременно на UI приложений и на структуру API-методов.
4. Найти общее и различия в этих API.
5. Пробовать брать боевые задачи и получать обратную связь от моей опытной команды Backend-разработчиков 💪

👉 Минимум теории, максимум практики.

Но бывает, что самому двигаться в этих вопросах тяжело.
И боевых задач с опытной Backend-командой нет...

Поэтому мы подготовили для вас практическое занятие по REST API, на котором познакомим с самой нужной теорией и всеми необходимыми инструментами для системного аналитика:


📚 Знакомство с REST API через Postman: с нуля до рабочих методов
🗓 Доступ 1-3 февраля
🔗 Узнать подробнее и зарегистрироваться

Занятие будет доступно в записи.
Вы сможете подключиться к нему и посмотреть в удобное время.



Этот урок предоставит вам не только теоретические знания, но и практические инструменты для работы.

Регистрируйтесь, учитесь и получайте новый опыт! 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
18🎉4
Методы REST API - проект ElibraGA [GetAnalyst].pdf
1.2 MB
💎 Методы REST API: 9 примеров для понимания принципов дизайна REST API 💎

Для проекта #ElibraGA спроектировала методы, которые надо реализовать для обеспечения работы приложения.


На что обращать внимание при знакомстве с документом:


Методы REST API - для приложения читателя

✔️ Получить список книг
Показаны:
+ Работа с Query-параметрами для пагинации и фильтрации.
+ Показан массив - список книг.
+ Структура списка - его всегда лучше держать внутри {}, даже если не будет элементов пагинации limit, offset, count.

✔️ Получить информацию о выбранной книге
Пример URL получения информации о конкретном объекте из списка по его id.

✔️ Получить список избранных книг пользователя
Обратите внимание на структуру URL и уточнение про авторизацию пользователя.

✔️ Получить информацию о пользователе и его текущей подписке
+ Проанализируйте JSON с информацией о пользователе и его связь с БД.
аналогично проанализируйте JSON метода получения информации о книге по id и его связь с БД.
Какие особенности заметили?
+ Также для пользователя и книги проверьте, что есть в JSON, и чего нет на UI.


Методы REST API - для приложения админа

✔️ Загрузить обложку книги + Загрузить файл книги
Помогут понять, как работать с загрузкой файлов при работе с REST API.
Важно:
1. Сначала грузим файлы в хранилище.
2. Потом создаём книги с использованием готовых ссылок.

✔️ Создать книгу
Обратите внимание, что JSON-запроса по структуре отличается от JSON-ответа.
Например, при создании книги не надо передавать всю информацию об авторе, т.к. подразумеваем, что его уже создали в системе до этого запроса. Нужен только id.

✔️ Редактировать книгу
Вариантов JSON-запроса может быть много.
В ответ рекомендуется всегда возвращать полный JSON-объекта при редактировании. Допустимы другие варианты.

✔️ Удалить (архивировать) книгу
Нет JSON-ов.


Документ разработана в Confluence.


👉 Методы этого проекта будут особенно полезны для систем, в которых предусматривается работа с файлами.

Сохраняем в личные архивы 🤝

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥135👍5😁2💯2❤‍🔥1
💥 REST API: спорные вопросы с проектов и собеседований на Системного Аналитика 💥

1.
Можно ли использовать метод POST для получения данных?
2. Можно ли сделать в проекте все методы POST?
3. Можно ли в GET передавать тело запроса?
4. Как правильно именовать эндпоинты - ед. число или мн. число (/user или /users)?
5. Как правильно строить URL - нужно ли писать create/update в названии метода?
6. Какой код ответа на метод POST: 200 или 201?
7. Что вернуть в ответ, если получен пустой результат - пустой массив или 404?

Опасная подборка 😄

Подробный разбор ответов в этой статье 🔗

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34👍6😁4🦄4❤‍🔥32😍1
🔔 Открытый урок по REST API [доступ к записи | 1-3 февраля] 🔔

Уже в эти выходные мы поделимся обучением, благодаря которому вы сможете уверенно разбираться в особенностях проектирования REST API методов и освоить инструмент Postman.

По итогам работы у вас будет собственная коллекция запросов в Postman для портфолио, которой вы сможете поделиться с коллегами и потенциальным работодателем!

Пример такой коллекции можно посмотреть здесь.


Регистрируйтесь, чтобы получить доступ к бесплатному практическому занятию!

⭐️ Знакомство с REST API через Postman:
⭐️ с нуля до рабочих методов
🗓 1-3 Февраля
🔗 Подробности и регистрация


Пусть эти выходные пройдут с пользой для вашей карьеры! ⚡️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115👌4😁21
GetAnalyst_Шаблон_постановки_задачи_на_REST_API_метод_для_Confluece.pdf
196 KB
💜 Шаблон постановки задачи на REST API-метод для Confluence 💜


Зачем нужен шаблон постановки задачи?
(Особенно для REST API)

1. Разработчики всегда понимают что и в каком месте искать в статье с требованиями.

2. Постановка задачи (требования) = Будущая статья в документацию.
Нет двойной работы.

3. Системный аналитик не упускает требования и всегда держит единую структуру документа.


Этих трёх пунктов достаточно, чтобы понять цель шаблона:
повысить качество постановок задач
и документации 🙌


К посту добавила пример шаблона для Confluence.
Также в нашем блоге можно найти статью с пояснениями к нему.

#ResApiGa
🔥33👍115🥰1
Друзья, как говорится, «новый год – новая жизнь!»😁
 
Поэтому хотим вам порекомендовать книгу Евы Кац «Жизненный баланс. 82 идеи для управления работой и жизнью, 7 способов мечтать и 6 шагов, чтобы всё реализовать».
 
Это полезное руководство для всех, кто стремится наладить гармонию между работой и личной жизнью.
Автор предлагает практические инструменты и вдохновение для достижения целей.
 
Книга написана в разговорном стиле, с чувством юмора и борьбой со стереотипами✔️
 
#hwGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥21👍5😁5🔥4
GetAnalyst_Образец_задачи_на_REST_API_GET_:books_для_ElibraGA.pdf
922.9 KB
💙 Образец постановки задачи на REST API: заполненный шаблон для Confluence 💙

Шаблон постановки задачи гарантирует то, что вы сможете всё учесть по структуре и ничего не потеряете.

Но я искренне понимаю всех, кто еще ни разу не работал с постановками задач на Backend (REST API), и, даже глядя на шаблон, слабо представляет что туда писать 🥲

Поэтому я оформила постановку задачи по проекту #ElibraGA на метод GET /books - получение списка книг.

Теперь у вас есть образец, на который можно подглядывать 🙂


На что обратить внимание:
1. Headers: показала, какие могут быть для запроса, включая авторизацию.
2. Query-parameters: подробно расписала всё про фильтры запроса, их ограничения и связь с БД.
3. API name: уточнила, что метод может использоваться и для админского API, с аналогичной реализацией.
4. Ответы: дала примеры двух успешных ответов, включая пустой список, и описала все ошибки.
5. Требования к реализации: подробно расписала алгоритм для разработчиков, включая исключительную ситуацию с элементами пагинации.


Используемая информация для подготовки:
▫️ шаблон постановки задачи на REST API метод
▫️ БД и дизайн проекта
▫️ пример 9 методов по проекту (сделала улучшение, чтобы сразу был список авторов и список жанров)


Создано с заботой о тех, кто только начинает свой путь в REST API,
и для опытных аналитиков, кто ищет примеры для внедрения в свою работу.

Сохраняйте и пользуйтесь 💙

#RestApiGA
43🔥26👍4😁2
Сегодня последний день доступа к занятию "Знакомство с REST API через Postman: с нуля до рабочих методов":
🔗 Подробности и регистрация


Это занятие сделано в поддержку практической программы Дизайн REST API.

🎁 В этот раз она запускается в новом уникальном формате, где вы дополнительно получаете:
+ 3 онлайн-занятия
+ 1 проект в портфолио
+ 3 месяца доступа к обучению


Вы получите:
• 25+ часов практических занятий (11 встреч)
• Встреча по разбору индивидуальных проектов
• Теоретические модули в платформе
• Домашние задания для создания индивидуального проекта в портфолио
• Доступ к закрытому Telegram-чату, где мы публикуем уведомления о проходящих вебинарах, полезные ресурсы, ссылки на книги и разбираем ваши вопросы
• Сертификат о повышении квалификации



На занятии "Знакомство с REST API через Postman: с нуля до рабочих методов" мы затронули множество аспектов, необходимых для успешного освоения REST API.


Программа «Дизайн REST API» поможет вам закрепить эти знания, погрузиться в тему глубже, получить больше практики и открыть новые карьерные возможности в системном анализе!

🔗 Узнать подробнее о программе Дизайн REST API


Есть вопросы? Пишите нам на почту info@getanalyst.ru, в Telegram или на сайте. Мы свяжемся с вами, поможем оценить текущие навыки и ответим на вопросы 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🦄2🥰1
💻 Публичная документация API через Postman - пример реализации 💻

Вчера я показала вам заполненный шаблон постановки задачи на REST API и на его основе создала образец документации в 🟠Postman.


Такой формат документации может быть использован в двух случаях:

1. Для внутренней Backend-команды
При описании задач вы можете сразу сохранять всю информацию в Postman, без Confluence.
Ограничения на коллекцию:
+ Доступна только для команды.
+ Не является публичной, так как может содержать приватные данные (например, маппинг с БД и алгоритмы работы).

2. Публичная API-документация для интеграции с вашим сервисом
Если сторонние системы должны интегрироваться с вашей, то необходимо разместить документацию в удобном и доступном формате.
Пример подобной документации можно посмотреть тут.
В ней рекомендуется скрывать технические детали реализации метода, такие как маппинг с БД и алгоритмы работы.


--------------
👉 Пример публичной документации в Postman для проекта #ElibraGA,
где скрыты детали реализации методов:
🔗 ссылка
--------------

На что обратить внимание:
1. Вы можете открыть мою Postman-коллекцию с методами на основе которой сделана эта API-документация.
2. Посмотрите, что я показываю несколько вариантов ответа. Т.е. не только успех, но и ошибки. Это важно для удобства работы с вашим API.


Как сделать аналогичную документацию в Swagger (OpenApi) покажу на этой неделе 🤝

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍104😁2
GetAnalyst_Swagger_1_Регистрация_и_демо_проект_Практика_для_системных.pdf
8.7 MB
💚 Swagger - Open API - Практическое руководство. Часть 1 💚

Меня часто просят показать как работает Swagger.
Поэтому одной из целей последнего проекта по REST API было демо работы с этим инструментом и спецификацией OpenAPI, с использованием которой ведется разработка кода в нём.


Это первая часть практического руководства, по которой вы шаг за шагом научитесь:
Регистрироваться и настраивать аккаунт в Swagger
Ориентироваться в интерфейсе и возможностях инструмента
Создавать демо-проекты в спецификации OpenAPI

🔗 Ваш первый результат будет выглядеть так


Swagger и OpenAPI — это не просто инструменты, а стандарты в REST API.
Их используют разработчики и аналитики для описания, проектирования и тестирования методов API.

Разбираясь в спецификации кода OpenAPI, вы будете лучше понимать, как API устроено изнутри 🙌

Скачиваем руководство и уделяем 15 минут, чтобы освоить новый инструмент!

#RestApiGA

----
P.S. Может потребоваться VPN
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥28🔥16👍9😁1😍1
GetAnalyst_Swagger_2_Настройка_базового_описания_проекта.pdf
15 MB
💚 Swagger - Open API - Практическое руководство. Часть 2 💚

Настроим базовую спецификацию OpenAPI! Вот ключевые элементы, которые нужно знать:

🔹 openapi:
версия спецификации OpenAPI, определяющая формат описания API.

🔹 servers:
список серверов, на которых развернуто API (продакшн, тест, дев).

🔹 info:
содержит название, описание, версию API и контактную информацию разработчиков.
📌 Важно!
В Swagger версии API хранятся как отдельные документы, между которыми можно переключаться.

🔹 tags:
используются для группировки API-методов. Например, все методы, связанные с пользователями, можно объединить под тегом "Пользователи".


Что дальше?
Я подготовила для вас следующую часть практического руководства, которая поможет вам разобраться с базовой информацией об API и научиться с ней работать в OpenAPI.

Время на изучение и практику OpenAPI:
🕓 30 минут — на работу с заданиями строго по руководству, где есть подсказки по каждому шагу,
🕓 +50 минут, если хотите выполнить ДЗ и создать дополнительные личные демо-проекты для портфолио.


Сохраняйте и выполняйте задания по шагам из практического руководства!
Это позволит вам освоить инструмент Swagger (OpenAPI) в реальной работе 🙌

#RestApiGA
🔥31👍112👌2❤‍🔥1😁1