Хотите создать современное, производительное и гибкое веб‑приложение? В этом курсе вы шаг за шагом освоите Next.js, Apollo и GraphQL, а также научитесь строить полноценный backend на Node.js. Вы создадите профессиональное портфолио‑приложение, включающее авторизацию, работу с базой данных, создание и управление контентом, форум и развертывание.
Основные технологии курса
GraphQL — быстрая и гибкая работа с данными
GraphQL — это язык запросов для API и серверная среда выполнения, позволяющая эффективно получать именно те данные, которые нужны приложению. Он не привязан к конкретной БД и идеально подходит для современных веб‑приложений.
Apollo — стандарт индустрии для GraphQL
Apollo упрощает управление данными, предоставляя кэширование, извлечение, мутации и управление состоянием «из коробки». Вы научитесь использовать Apollo как на клиенте, так и на сервере.
Next.js — мощный фреймворк на базе React
Next.js обеспечивает быструю разработку, серверный рендеринг (SSR), статическую генерацию (SSG) и удобную маршрутизацию. Его возможности идеально подходят для портфолио и проектов с высокой производительностью.
- Маршрутизация на основе файловой структуры
- Поддержка SSR, SSG и ISR для отдельных страниц
- Превосходная оптимизация и готовность к продакшену
Что вы создадите в рамках курса
Полноценное портфолио‑приложение
Вы научитесь управлять данными на клиенте и сервере, используя Apollo и GraphQL. В ходе разработки вы:
- настроите подключение к MongoDB Atlas через Node.js сервер;
- создадите функционал создания, редактирования и удаления портфолио;
- научитесь заполнять формы существующими данными и обновлять UI в реальном времени;
- поймёте основы мутаций и запросов в Apollo Client.
Аутентификация на основе сессий
Пользователи смогут регистрироваться, входить в систему и получать доступ к защищённым функциям. Вы узнаете:
- как организовать сессионную аутентификацию;
- как защищать страницы и маршруты;
- как управлять состоянием авторизации во всём приложении.
Форум с темами и сообщениями
Самая объёмная часть курса — разработка форума с поддержкой тем, сообщений и ответов. Реализация включает:
- создание и обновление тем и постов в реальном времени;
- синхронизацию данных между разными окнами и браузерами;
- организацию вложенных ответов;
- реализацию удобной пагинации.
Дополнительные темы курса
Работа со случайными данными и переиспользование логики
Вы научитесь создавать функции для генерации контента, оптимизировать код и повышать переиспользуемость компонентов.
Финальная страница резюме
Курс включает разработку страницы резюме, где вы соберёте ключевую информацию о себе и структуре проекта.
Развертывание на Heroku
После оптимизации проекта под продакшен вы выполните развертывание на Heroku, чтобы ваше приложение стало доступно всем пользователям сети.
Итог
Курс идеально подойдёт разработчикам, которые хотят прокачать навыки работы с GraphQL, Next.js и Apollo, создавая полноценное, современное и продакшен‑готовое приложение.
А актуальная уже 3 версия.
Разница небольшая, например здесь gql импортируется из apollo-boost - https://github.com/webuxmotion/next-cv/blob/main/apollo/queries/index.js
А здесь (3 версия) из @apollo/client - https://github.com/webuxmotion/pereverziev/blob/main/apollo/queries/index.js
Т.к. версия Apollo на сайте более новая, чем в курсе, надо большинство импортировать из @apollo/client
import { gql, useQuery, useMutation, ApolloClient, ApolloProvider, createHttpLink, InMemoryCache } from '@apollo/client';
за исключением:
import { getDataFromTree } from "@apollo/client/react/ssr";