Привіт 👋
Вітаємо у Телеграм-каналі Radency Education. Тут ти дізнаєшся більше про онлайн стажування, під час якого ми даємо досвід створення складних додатків - і фронтенду, і бекенду.
Будемо ділитися організаційними деталями та корисним контентом про технології, з якими ти матимеш справу під час стажування (і подальшої роботи над комерційним проектом).
У 2021 ми провели 4 стажування по React, Node.js та Flutter. І попри війну, ми не плануємо складати руки та вже у квітні 2022 відкриваємо реєстрацію на наступне онлайн стажування по React та Node.js, тож stay tuned.
Слава Україні! 🇺🇦
Вітаємо у Телеграм-каналі Radency Education. Тут ти дізнаєшся більше про онлайн стажування, під час якого ми даємо досвід створення складних додатків - і фронтенду, і бекенду.
Будемо ділитися організаційними деталями та корисним контентом про технології, з якими ти матимеш справу під час стажування (і подальшої роботи над комерційним проектом).
У 2021 ми провели 4 стажування по React, Node.js та Flutter. І попри війну, ми не плануємо складати руки та вже у квітні 2022 відкриваємо реєстрацію на наступне онлайн стажування по React та Node.js, тож stay tuned.
Слава Україні! 🇺🇦
🔥13👍1
Сьогодні розповідаємо про веб-додаток, який студенти розробили під час стажування з React та Node.js - платформу для інвестування у нерухомість.
За 5 тижнів учасники інтернатури створили рішення, яке допомагає генерувати пасивний прибуток завдяки інвестуванню у будівництво офісів, квартир, складів тощо. Девелоперські компанії додають інформацію про обʼєкти будівництва на платформу, інвестори переглядають пропозиції, порівнюють та обирають ту, яка їх цікавить.
Серед фіч продукту є:
- розширений пошук пропозицій
- мапа з об’єктами
- дашборди для обох категорій користувачів
- фінансовий репортинг
- локалізація
Техстек:
- Frontend: React / Redux / Sagas / Tailwind
- Backend: Node.js / Express
- DB: Postgres / Sequelize
- Cloud
А от і декілька скріншотів платформи👇
За 5 тижнів учасники інтернатури створили рішення, яке допомагає генерувати пасивний прибуток завдяки інвестуванню у будівництво офісів, квартир, складів тощо. Девелоперські компанії додають інформацію про обʼєкти будівництва на платформу, інвестори переглядають пропозиції, порівнюють та обирають ту, яка їх цікавить.
Серед фіч продукту є:
- розширений пошук пропозицій
- мапа з об’єктами
- дашборди для обох категорій користувачів
- фінансовий репортинг
- локалізація
Техстек:
- Frontend: React / Redux / Sagas / Tailwind
- Backend: Node.js / Express
- DB: Postgres / Sequelize
- Cloud
А от і декілька скріншотів платформи👇
👍1
Стажування у Реденсі триває один місяць, студенти виділяють 40+ годин на роботу над проектом щотижня. Чи воно того варте - дізнаємося з відгуків Володимира та Романа - випускників інтернатури по React і Node.js у лютому 2022.
🗣️ Володимир:
“Стажування, беззаперечно, підходить тим, хто націлений на результат в ІТ сфері і замотивований дійти до кінця. Щодо мене, то, звісно, було важко, однак стажування дало мені дуже багато досвіду: робота в команді, великий обсяг технологій, терпіння (так як звісно ж не усе виходить з першого разу, а іноді й навіть не з десятого), а також можливість дізнатися свій поточний рівень та рівень, якого потрібно досягти для того, щоб відповідати усім сучасним вимогам в ІТ сфері”.
🗣️ Роман:
“Хороший досвід, щоб спробувати себе в роботі на проекті в умовах, наближених до реальних. Лояльне ставлення менторів, які завжди пояснять і підкажуть куди рухатись далі і як вирішити завдання. Робота з актуальними технологіями. В кінці стажування отримуєш чітке уявлення про сутність технологій з якими працюєш, та точно знаєш, як їх поєднувати”.
Якщо ти готовий присвятити свій травень 2022 отриманню практичного досвіду розробки на React та Node.js, то реєструйся за цим посиланням.
🗣️ Володимир:
“Стажування, беззаперечно, підходить тим, хто націлений на результат в ІТ сфері і замотивований дійти до кінця. Щодо мене, то, звісно, було важко, однак стажування дало мені дуже багато досвіду: робота в команді, великий обсяг технологій, терпіння (так як звісно ж не усе виходить з першого разу, а іноді й навіть не з десятого), а також можливість дізнатися свій поточний рівень та рівень, якого потрібно досягти для того, щоб відповідати усім сучасним вимогам в ІТ сфері”.
🗣️ Роман:
“Хороший досвід, щоб спробувати себе в роботі на проекті в умовах, наближених до реальних. Лояльне ставлення менторів, які завжди пояснять і підкажуть куди рухатись далі і як вирішити завдання. Робота з актуальними технологіями. В кінці стажування отримуєш чітке уявлення про сутність технологій з якими працюєш, та точно знаєш, як їх поєднувати”.
Якщо ти готовий присвятити свій травень 2022 отриманню практичного досвіду розробки на React та Node.js, то реєструйся за цим посиланням.
👍8❤2
Час познайомитися ближче: сьогодні розповімо хто такі Radency та чому ми проводимо стажування.
#Radency - українська ІТ компанія, заснована у 2020 році. Назва компанії походить від слів radical efficiency - притримуємося цієї філософії у всіх сферах, від розробки проєктів до організації інтернатури.
#Проєкти - складні веб та мобільні додатки для замовників з усього світу (переважно - Європа та Північна Америка). Ось декілька проєктів з нашого портфоліо:
- Платформа для автоматизації sales процесів, яка надає користувачам темплейти договорів, воркфлоу погоджень та інтеграцію з Salesforce та Hubspot.
- Мобільний додаток для розумного трекінгу персональних витрат. Аналізує витрати по банківським рахункам за різними категоріями.
- Рішення для візуальної перевірки фармацевтичних препаратів. За допомогою computer vision та ML додаток автоматично обчислює, відслідковує та відправляє дані про медичні препарати на друк.
#Технології - з 40 раденсят більшість спеціалізується на React, Node.js та Flutter. Ми також працюємо з Python, React Native, Angular, Nest.js і відкриті до інших технологій. В певному розумінні ми - technology agnostic.
#Стажування - ми віримо в потенціал не менше, ніж в реальний досвід. Саме тому ми організовуємо інтернатуру для талановитих програмістів-початківців без комерційного досвіду та даємо їм досвід розробки проєкту з нуля, готуємо до роботи у команді та проведення демо проєктів. Все, як під час роботи над справжнім комерційним проєктом.
Якщо ти також хочеш здобути практичний досвід з React та Node.js, то реєструйся на стажування до 22.04. Будемо раді познайомитися 😉
#Radency - українська ІТ компанія, заснована у 2020 році. Назва компанії походить від слів radical efficiency - притримуємося цієї філософії у всіх сферах, від розробки проєктів до організації інтернатури.
#Проєкти - складні веб та мобільні додатки для замовників з усього світу (переважно - Європа та Північна Америка). Ось декілька проєктів з нашого портфоліо:
- Платформа для автоматизації sales процесів, яка надає користувачам темплейти договорів, воркфлоу погоджень та інтеграцію з Salesforce та Hubspot.
- Мобільний додаток для розумного трекінгу персональних витрат. Аналізує витрати по банківським рахункам за різними категоріями.
- Рішення для візуальної перевірки фармацевтичних препаратів. За допомогою computer vision та ML додаток автоматично обчислює, відслідковує та відправляє дані про медичні препарати на друк.
#Технології - з 40 раденсят більшість спеціалізується на React, Node.js та Flutter. Ми також працюємо з Python, React Native, Angular, Nest.js і відкриті до інших технологій. В певному розумінні ми - technology agnostic.
#Стажування - ми віримо в потенціал не менше, ніж в реальний досвід. Саме тому ми організовуємо інтернатуру для талановитих програмістів-початківців без комерційного досвіду та даємо їм досвід розробки проєкту з нуля, готуємо до роботи у команді та проведення демо проєктів. Все, як під час роботи над справжнім комерційним проєктом.
Якщо ти також хочеш здобути практичний досвід з React та Node.js, то реєструйся на стажування до 22.04. Будемо раді познайомитися 😉
👍22❤3😢2
Інтернатура у Radency проходить в умовах, максимально близьких до роботи на комерційному проєкті.
Саме на основі вимог до інженерів на комерційних проєктах ми створили детальний фреймворк того, з чим ти працюватимеш під час стажування по React та Node.js. Це всесторонній досвід: від задач по фронтенду та бекенду, до участі у планінгах та презентуванні демо-версії проєкту.
Більше деталей на скріншоті 👀
Саме на основі вимог до інженерів на комерційних проєктах ми створили детальний фреймворк того, з чим ти працюватимеш під час стажування по React та Node.js. Це всесторонній досвід: від задач по фронтенду та бекенду, до участі у планінгах та презентуванні демо-версії проєкту.
Більше деталей на скріншоті 👀
👍9🔥4
Маркетплейс для пошуку роботи - ще один проєкт, який розробили студенти під час стажування по React та Node.js у Radency. Ця некомерційна платформа зʼєднує фрілансерів та замовників, яким потрібна допомога з щоденними задачами, як от прибирання, переїзд, доставка чи ремонт. Маркетплейс допомагає фрілансерам отримати додатковий прибуток, а замовникам - швидко та якісно закрити задачі, на які у них не вистачає часу.
Функціонал платформи включає:
- роботу з задачами для замовників (публікація, редагування, перегляд відгуків фрілансерів)
- роботу з задачами для фрілансерів (перегляд детальної інформації та статусу, можливість відгукнутися)
- розширений пошук задач та фрілансерів
- безпечну оплату
Технології:
- Frontend: React / Redux / Sagas / Tailwind
- Backend: NodeJS / Express
- DB: Postgres / Sequelize
- CI/CD: AWS
Check the project’s UI out 👆
Функціонал платформи включає:
- роботу з задачами для замовників (публікація, редагування, перегляд відгуків фрілансерів)
- роботу з задачами для фрілансерів (перегляд детальної інформації та статусу, можливість відгукнутися)
- розширений пошук задач та фрілансерів
- безпечну оплату
Технології:
- Frontend: React / Redux / Sagas / Tailwind
- Backend: NodeJS / Express
- DB: Postgres / Sequelize
- CI/CD: AWS
Check the project’s UI out 👆
👍12🔥6
Відбір на стажування Radency складається з трьох частин: вступної задачки на JS, трьох розгорнутих домашніх завдань та інтервʼю.
1️⃣ Задачку на JS отримує кожен, хто зареєструється на стажування через цю форму. Вступна задачка невелика, її виконання займає 1-2 години. До речі, усі тестові переглядає співзасновник Radency, Микита 🎩
2️⃣ Три домашні завдання стають доступними після успішного виконання вступної задачки. На цьому етапі ти отримуєш доступ до Slack воркспейсу, де можеш задавати питання команді Radency, а також спілкуватися з іншими учасниками стажування. Кожне завдання займе ~2-3 дні, а дедлайн виконання усіх трьох домашніх завдань - 25 квітня.
3️⃣ Інтервʼю-знайомство відбувається з тими, хто добре впорався з трьома домашніми завданнями. Дзвінок проходить у Zoom, під час нього ти розповідаєш детальніше про твій досвід, а ми - про Radency і стажування.
Реєстрація на стажування по React та Node.js триває до 22 квітня включно, сама ж інтернатура стартує 2 травня та триватиме до 3 червня.
1️⃣ Задачку на JS отримує кожен, хто зареєструється на стажування через цю форму. Вступна задачка невелика, її виконання займає 1-2 години. До речі, усі тестові переглядає співзасновник Radency, Микита 🎩
2️⃣ Три домашні завдання стають доступними після успішного виконання вступної задачки. На цьому етапі ти отримуєш доступ до Slack воркспейсу, де можеш задавати питання команді Radency, а також спілкуватися з іншими учасниками стажування. Кожне завдання займе ~2-3 дні, а дедлайн виконання усіх трьох домашніх завдань - 25 квітня.
3️⃣ Інтервʼю-знайомство відбувається з тими, хто добре впорався з трьома домашніми завданнями. Дзвінок проходить у Zoom, під час нього ти розповідаєш детальніше про твій досвід, а ми - про Radency і стажування.
Реєстрація на стажування по React та Node.js триває до 22 квітня включно, сама ж інтернатура стартує 2 травня та триватиме до 3 червня.
👍18
У попередньому пості ми розповіли про те, як відбувається відбір на стажування. Сьогодні заглянемо за лаштунки, власне, стажування по React та Node.js.
🌒 В перший день ти разом з командою зідзвонишся з досвідченим ментором з Radency, який виконуватиме роль тімліда. Під час дзвінка ти дізнаєшся про проєкт, який розроблятимеш наступні 5 тижнів: його суть та основний стек технологій. Одним із перших завдань буде розробка архітектури та структури проєкту, а також продумування схеми баз даних. Адже важливо мати досвід і в розробці додатку, і в його проєктуванні.
🌕 Далі стажування складатиметься з:
- роботи над фронтендом, бекендом, базами даних, а також написання автотестів (unit та API тестів). Ти попрацюєш зі всіма технологіями з фреймворку стажування по React та Node.js.
- код ревʼю та фідбеку по pull request-ам від ментора, а згодом і перехресне peer review.
- регулярних мітингів: раз в тиждень спринт планінг, демо-презентація проєкту замовнику (aka co-CEO Radency) і ретроспектива. Щодня ранкові коли та вечірні репорти.
- практикування англійської мови під час демо проєкту, написання репортів та опису комітів.
🌘 В останній день команда проводить фінальне демо, де розповідає що вдалося реалізувати за місяць стажування. Після цього ти отримаєш електронний сертифікат, як підтвердження отриманого фулстек досвіду. Сертифікат легко додати до резюме чи зазначити у LinkedIn профілі.
🌒 В перший день ти разом з командою зідзвонишся з досвідченим ментором з Radency, який виконуватиме роль тімліда. Під час дзвінка ти дізнаєшся про проєкт, який розроблятимеш наступні 5 тижнів: його суть та основний стек технологій. Одним із перших завдань буде розробка архітектури та структури проєкту, а також продумування схеми баз даних. Адже важливо мати досвід і в розробці додатку, і в його проєктуванні.
🌕 Далі стажування складатиметься з:
- роботи над фронтендом, бекендом, базами даних, а також написання автотестів (unit та API тестів). Ти попрацюєш зі всіма технологіями з фреймворку стажування по React та Node.js.
- код ревʼю та фідбеку по pull request-ам від ментора, а згодом і перехресне peer review.
- регулярних мітингів: раз в тиждень спринт планінг, демо-презентація проєкту замовнику (aka co-CEO Radency) і ретроспектива. Щодня ранкові коли та вечірні репорти.
- практикування англійської мови під час демо проєкту, написання репортів та опису комітів.
🌘 В останній день команда проводить фінальне демо, де розповідає що вдалося реалізувати за місяць стажування. Після цього ти отримаєш електронний сертифікат, як підтвердження отриманого фулстек досвіду. Сертифікат легко додати до резюме чи зазначити у LinkedIn профілі.
👍21
Сьогоднішній пост про бекенд проєкту Fyrst, який ми зі студентами розробляли під час минулого стажування.
В основі - стандартні Node.js, Express, TypeScript, PostgreSQL. Ми вирішили розділити бізнес логіку на мікросервіси. Наприклад, модуль роботи з PDF документами, які генерувались на основі інвойсів користувачів, став окремим сервісом. Це дало нам змогу ізолювати його розробку та підтримку від основної частини backend-у, отримати масштабований і відмовостійкий код. А для того, щоб генерація файлів не блокувала основний процес та відбувалась на фоні, ми використали чергу повідомлень RabbitMQ. Сервіси конфігурувалися за допомогою Docker Compose.
Проєкт, котрий ми розробляли, був досить складним, містив багато сутностей і відповідно, комплексне REST API. Було важливо його добряче задокументувати, щоб було зручно ним користуватись тим, хто підключав роути на фронтенді. Для цього ми створили OpenAPI специфікацію, яка дає змогу описувати API endpoints у форматі JSON / YAML та інтерактивно працювати з ним через Swagger UI.
З багатьма з цих технологій учасники стажування стикнулися вперше, та з часом змогли їх опанувати через власний досвід та допомогу ментора на проєкті.
В основі - стандартні Node.js, Express, TypeScript, PostgreSQL. Ми вирішили розділити бізнес логіку на мікросервіси. Наприклад, модуль роботи з PDF документами, які генерувались на основі інвойсів користувачів, став окремим сервісом. Це дало нам змогу ізолювати його розробку та підтримку від основної частини backend-у, отримати масштабований і відмовостійкий код. А для того, щоб генерація файлів не блокувала основний процес та відбувалась на фоні, ми використали чергу повідомлень RabbitMQ. Сервіси конфігурувалися за допомогою Docker Compose.
Проєкт, котрий ми розробляли, був досить складним, містив багато сутностей і відповідно, комплексне REST API. Було важливо його добряче задокументувати, щоб було зручно ним користуватись тим, хто підключав роути на фронтенді. Для цього ми створили OpenAPI специфікацію, яка дає змогу описувати API endpoints у форматі JSON / YAML та інтерактивно працювати з ним через Swagger UI.
З багатьма з цих технологій учасники стажування стикнулися вперше, та з часом змогли їх опанувати через власний досвід та допомогу ментора на проєкті.
🔥10👍7
Розробка проєкту під час стажування відбувається за agile методологією, вся інтернатура поділена на декілька тижневих спринтів.
📝 Традиційно, спринт починається з планінгу та погодження обʼєму фіч та функціоналу, який команда береться зробити. Кожен член команди має змогу внести свої пропозиції щодо пріоритетів задач, використання бібліотек, зберігання даних чи архітектури.
🎦 Кульмінацією кожного спринта є демо-презентація проєкту. Кожен учасник демонструє результати, яких досяг за тиждень: показує нові сторінки і функціонал, розповідає про прийняті рішення та пояснює чому саме такі рішення у даній ситуації - найкращі. Демо відвідує стейкхолдер проєкту, co-CEO Radency, тож він задаватиме питання про технічну сторону реалізації та очікуватиме, що ти зможеш пояснити переваги обраної бібліотеки, як налаштована система безпеки, які інструменти використовувалися тощо. Все, як під час презентації комерційного додатку.
🤔 Завершується спринт ретроспективою, під час якої команда обговорює зауваження та ідеї, які були озвучені на демо. Також важлива частина ретроспективи - аналіз того, що команда встигла зробити за тиждень, чи вклалася вона у рамки передбаченого планінгом.
📝 Традиційно, спринт починається з планінгу та погодження обʼєму фіч та функціоналу, який команда береться зробити. Кожен член команди має змогу внести свої пропозиції щодо пріоритетів задач, використання бібліотек, зберігання даних чи архітектури.
🎦 Кульмінацією кожного спринта є демо-презентація проєкту. Кожен учасник демонструє результати, яких досяг за тиждень: показує нові сторінки і функціонал, розповідає про прийняті рішення та пояснює чому саме такі рішення у даній ситуації - найкращі. Демо відвідує стейкхолдер проєкту, co-CEO Radency, тож він задаватиме питання про технічну сторону реалізації та очікуватиме, що ти зможеш пояснити переваги обраної бібліотеки, як налаштована система безпеки, які інструменти використовувалися тощо. Все, як під час презентації комерційного додатку.
🤔 Завершується спринт ретроспективою, під час якої команда обговорює зауваження та ідеї, які були озвучені на демо. Також важлива частина ретроспективи - аналіз того, що команда встигла зробити за тиждень, чи вклалася вона у рамки передбаченого планінгом.
👍8🤔1
Реєстрація на травневе стажування з React та Node.js у Radency завершена! Зараз ми проводимо інтерв'ю і відбираємо учасників на проєкт стажування. Дякуємо усім, хто зацікавився інтернатурою 🙌
Залишайтеся з нами, щоб першими отримати дати наступних стажувань з React + Node.js чи Flutter.
Залишайтеся з нами, щоб першими отримати дати наступних стажувань з React + Node.js чи Flutter.
🎉9👍2❤1👎1
Усім привіт, Radency Education на звʼязку 🇺🇦
Сьогодні стартував відбір на нове стажування, цього разу - з .NET + Angular.
Якщо хочеш прокачатися та додати до портфоліо проєкт на Angular, Typenoscript, ASP.NET Core, PostgreSQL, Docker - реєструйся за цим посиланням чи ділися ним зі знайомими, яким це буде актуально. Усі організаційні деталі тут.
Традиційно, в нашому Телеграм-каналі ділитимемося корисним контентом про технології, з якими ти матимеш справу під час інтернатури та згодом під час роботи над комерційним проєктом.
Тим часом ось декілька попередніх дописів, з якими радимо ознайомитися 👇👀
- Хто такі Radency та чому ми проводимо стажування
- Як проходить відбір на інтернатуру
- Чого очікувати під час стажування
- Як відбувається розробка проєкту
Сьогодні стартував відбір на нове стажування, цього разу - з .NET + Angular.
Якщо хочеш прокачатися та додати до портфоліо проєкт на Angular, Typenoscript, ASP.NET Core, PostgreSQL, Docker - реєструйся за цим посиланням чи ділися ним зі знайомими, яким це буде актуально. Усі організаційні деталі тут.
Традиційно, в нашому Телеграм-каналі ділитимемося корисним контентом про технології, з якими ти матимеш справу під час інтернатури та згодом під час роботи над комерційним проєктом.
Тим часом ось декілька попередніх дописів, з якими радимо ознайомитися 👇👀
- Хто такі Radency та чому ми проводимо стажування
- Як проходить відбір на інтернатуру
- Чого очікувати під час стажування
- Як відбувається розробка проєкту
🔥7👍3👏2
Поки відбір на стажування по .NET + Angular триває, ділимося відгуками учасників червневої інтернатури: Андрія та Катерини.
🗣️ Андрій:
“Під час стажування учасників поділили на групи по ~10 людей. Кожна група протягом місяця мала зробити з нуля великий проект, максимально близький до реального. В процесі ми використали сучасний стек технологій. Ментори давали загальне спрямування та відгук по зробленій роботі, але при цьому залишали тобі свободу обирати, як ти хочеш вирішити ту чи іншу проблему. Оскільки стажування розраховане на груповий проект, то було багато командної взаємодії між учасниками”.
🗣️ Катерина:
“Це був крутезний досвід розробки, приближеної до реальних умов - робота в команді в одній репі, з дедлайнами, щоденними зізвонами, демо англійською, фіксами багів, застосуванням нових технологій на ходу тощо. Це прям був місячний тест-драйв професії full-stack розробника веб-застосувань. Отримала купу нових знань та досвіду, які, вірю, допоможуть мені при подальшому моєму досвіду в професії”.
Якщо хочеш отримати подібний досвід вже у серпні 2022, то реєструйся на стажування з .NET + Angular.
🗣️ Андрій:
“Під час стажування учасників поділили на групи по ~10 людей. Кожна група протягом місяця мала зробити з нуля великий проект, максимально близький до реального. В процесі ми використали сучасний стек технологій. Ментори давали загальне спрямування та відгук по зробленій роботі, але при цьому залишали тобі свободу обирати, як ти хочеш вирішити ту чи іншу проблему. Оскільки стажування розраховане на груповий проект, то було багато командної взаємодії між учасниками”.
🗣️ Катерина:
“Це був крутезний досвід розробки, приближеної до реальних умов - робота в команді в одній репі, з дедлайнами, щоденними зізвонами, демо англійською, фіксами багів, застосуванням нових технологій на ходу тощо. Це прям був місячний тест-драйв професії full-stack розробника веб-застосувань. Отримала купу нових знань та досвіду, які, вірю, допоможуть мені при подальшому моєму досвіду в професії”.
Якщо хочеш отримати подібний досвід вже у серпні 2022, то реєструйся на стажування з .NET + Angular.
🔥9👍5❤3
Стажування .NET + Angular завершується вже цього тижня, тож ми хочемо поділитись інформацією про технічну реалізацію проєкту Ctor, яку втілили учасники стажування.
Це SaaS платформа, де користувачі реєструють компанії, додають працівників та виконують свою роботу всередині веб-додатку (тобто одна база даних містить інформацію про всі компанії, так званий multi-tenancy solution).
Структура бекенду складається з наступних компонентів:
- Core - серце системи, відповідає за основну бізнес-логіку. Це ASP.NET Core сервіс, який побудований на базі Clean Architecture, де кожен шар має свою зону відповідальності. Для того, щоб дотримуватись слабкого зчеплення та мати змогу швидко розширити функціонал, ми використали internal message bus, commands та queries. Також Core відповідає за аутентифікацію користувачів. Для цього ми обрали JWT-based реалізацію, а також реалізували підхід з access та refresh токенами.
- Service Bus - це інструмент для комунікації між сервісами. Він допомагає нам запускати важкі задачі в фоні та зменшити використання ресурсів. Команда зробила дві реалізації: за допомогою RabbitMQ, а також - Azure Service Bus. Це було необхідно, щоб забезпечити як локальну розробку, так і розгортання додатку у клауді Azure.
- SignalR - для того, щоб клієнти могли отримувати оновлення даних та повідомлення в реальному часі, ми додали використання WebSockets. Так ми змогли нотифікувати користувача, наприклад, коли його великий репорт згенеровано і він може його завантажити.
- ReportEngine - важкі операції на кшталт генерації PDF документів, ми винесли в окремі сервіси. Вони спілкуються з основним сервісом тільки асинхронно, через Service Bus.
- File Storage - також через те, що ми повинні зберігати дуже багато файлів, було вирішено мати дві реалізації сховища: локальна та у клауді, використовуючи Azure Files.
Окремо потрібно виділити архітектуру фронтенду, де ми застосували Flux архітектуру за допомогою NgRx, а також зробили модульну систему, щоб не завантажувати зайві компоненти в браузер.
Багато технологій з переліку команда змогла опанувати на ходу, читаючи десятки сторінок документації та постійно спілкуючись з ментором 💪
Це SaaS платформа, де користувачі реєструють компанії, додають працівників та виконують свою роботу всередині веб-додатку (тобто одна база даних містить інформацію про всі компанії, так званий multi-tenancy solution).
Структура бекенду складається з наступних компонентів:
- Core - серце системи, відповідає за основну бізнес-логіку. Це ASP.NET Core сервіс, який побудований на базі Clean Architecture, де кожен шар має свою зону відповідальності. Для того, щоб дотримуватись слабкого зчеплення та мати змогу швидко розширити функціонал, ми використали internal message bus, commands та queries. Також Core відповідає за аутентифікацію користувачів. Для цього ми обрали JWT-based реалізацію, а також реалізували підхід з access та refresh токенами.
- Service Bus - це інструмент для комунікації між сервісами. Він допомагає нам запускати важкі задачі в фоні та зменшити використання ресурсів. Команда зробила дві реалізації: за допомогою RabbitMQ, а також - Azure Service Bus. Це було необхідно, щоб забезпечити як локальну розробку, так і розгортання додатку у клауді Azure.
- SignalR - для того, щоб клієнти могли отримувати оновлення даних та повідомлення в реальному часі, ми додали використання WebSockets. Так ми змогли нотифікувати користувача, наприклад, коли його великий репорт згенеровано і він може його завантажити.
- ReportEngine - важкі операції на кшталт генерації PDF документів, ми винесли в окремі сервіси. Вони спілкуються з основним сервісом тільки асинхронно, через Service Bus.
- File Storage - також через те, що ми повинні зберігати дуже багато файлів, було вирішено мати дві реалізації сховища: локальна та у клауді, використовуючи Azure Files.
Окремо потрібно виділити архітектуру фронтенду, де ми застосували Flux архітектуру за допомогою NgRx, а також зробили модульну систему, щоб не завантажувати зайві компоненти в браузер.
Багато технологій з переліку команда змогла опанувати на ходу, читаючи десятки сторінок документації та постійно спілкуючись з ментором 💪
👍22❤2