Створюйте масштабовані та продуктивні fullstack програми на сервері з використанням сучасних технологій, таких як AppSync, Lambda, DynamoDB та Vue.js. Навчіться будувати продуктивні та масштабовані повностекові програми, створюючи клон Twitter з нуля.
Технології serverless дозволяють вам створювати масштабовані та продуктивні програми без керування інфраструктурою. GraphQL дозволяє створювати потужні API, які легко використовувати та розширювати. Разом вони є ідеальним інструментом для створення сучасних програм.
Створіть клон Twitter, використовуючи ці сучасні технології:
AWS Lambda для обробки серверної частини
AWS AppSync для створення гнучких API
AWS Cognito для керування автентифікацією
AWS DynamoDB для зберігання даних
Vue.js для створення інтерфейсу
Tailwind CSS для стилізації
Serverless Framework для керування інфраструктурою
AWS Amplify для спрощення розробки
Придбайте практичні навички, цінні для роботодавців
Не витрачайте час на черговий урок Hello, World!. Поглибитеся та освойте практичні навички, які насправді зроблять вас найкращим розробником і допоможуть виділитися з натовпу.
Тестування та налагодження
Навчіться тестувати функції Lambda та API AppSync як локально (юніт- та інтеграційні тести), так і віддалено (тести end-to-end).
Спостережуваність
Освойте beweb практики ведення журналу, моніторингу та трасування, щоб швидко виявляти та усувати проблеми у продакшені.
Патерни проектування
Вивчіть архітектурні патерни проектування для серверних програм та техніки моделювання для DynamoDB.
Безпека
Як забезпечити безпеку вашої програми та запобігти несанкціонованому доступу.
Досвід сучасної fullstack розробки
Створіть нетривіальний fullstack додаток, використовуючи сучасні технології (GraphQL, AWS, serverless, Vue.js) та практики розробки (інфраструктура як код, безперервна інтеграція/безперервна доставка, тестування навантаження, прогресивні веб-додатки).
AWS
Отримайте практичний досвід роботи з популярними сервісами AWS, такими як AppSync, Lambda, DynamoDB та Cognito.
Vue.js та Tailwind CSS
Вивчіть, створюючи нетривіальний прогресивний веб-додаток з використанням популярного фреймворку Vue.js та стилізації з Tailwind CSS.
GraphQL
Дізнайтеся, як працює GraphQL, як він порівнюється з REST API та кращі практики моделювання схем GraphQL.
CI/CD з GitHub Actions
Постійно тестуйте та розгортайте ваше API за допомогою GitHub Actions.
Створіть fullstack клон Twitter
Втілить у життя функції, такі як реєстрація користувачів, керування профілем користувача, відправлення твітів, відповіді/ретвіти/лайки до твітів, підписки/відписки від користувачів, хештеги, пошук, особисті повідомлення та сповіщення.
Аутентифікація користувачів
Реалізуйте процеси реєстрації, входу та виходу користувачів за допомогою Cognito та Amplify, включаючи 3-кроковий інтерфейс для реєстрації у Twitter.
Управління профілем користувача
Завантажуйте профіль користувача з твітами; дозволяйте користувачам редагувати свої дані профілю та завантажувати зображення профілю в S3.
Твітінг
Користувачі можуть надсилати твіти, відповідати на твіти або ставити лайк. Твіти поширюватимуться у хронології передплатників.
Соціальні можливості – підписки, ЛЗ
Користувачі можуть підписуватись один на одного та отримувати твіти у своїй хронології, а також обмінюватися особистими повідомленнями.
Повідомлення у реальному часі
Реалізуйте сповіщення в реальному часі за допомогою веб-сокетів.
Готуйтесь до продакшну!
Змусити програму працювати – легка частина. Складність полягає у підготовці його до продакшну. Чи зможе воно масштабуватись при зростанні числа користувачів? Чи зможете ви швидко усувати проблеми? Чи добре воно працюватиме як на настільних комп’ютерах, так і на мобільних пристроях?
Прогресивний веб-додаток (PWA)
Забезпечте гарне функціонування інтерфейсу на настільних комп’ютерах, планшетах та мобільних пристроях, щоб користувачі завжди отримували відмінний досвід, незалежно від форм-фактора.
Відстеження аналітики
Отримайте уявлення про те, як користувачі використовують вашу програму. Використовуйте Kinesis Firehose для завантаження подій кликових потоків та аналізуйте їх за допомогою Athena.
Спостережуваність
Налаштуйте оповіщення та панелі інструментів CloudWatch; досліджуйте проблеми продуктивності за допомогою X-Ray; отримайте детальну метрику дозволу за допомогою CloudWatch Insights.
Оптимізація продуктивності
Оптимізуйте час холодного запуску Lambda та використовуйте кешування на рівні дозволу AppSync для покращення масштабованості та продуктивності.