Часть 1
В 1 части вы узнаете, как запрограммировать серверный код приложения для совместного использования поездок. Мы начнем с разработки пользовательской модели аутентификации пользователей и профиля данных. Затем мы создадим модель данных для отслеживания поездок, а также API, которые предоставляют доступ к этим данным. Наконец, мы будем использовать асинхронный Django Channels для отправки и получения сообщений через WebSockets. На протяжении всей этой части мы будем тестировать каждую функцию, чтобы убедиться, что код, который мы пишем, работает так, как мы ожидаем.
- Создайте RESTful API с помощью платформы Django REST
- Реализуйте аутентификацию на основе токенов с помощью веб-токенов JSON (JWT)
- Используйте Django Channels для создания и обновления данных на сервере
- Отправляйте сообщения в пользовательский интерфейс с сервера через WebSockets
- Протестируйте сопрограммы asyncio с помощью pytest
Инструменты и технологии: (асинхронный) Python, Django, Django REST Framework, Django Channels, Redis, PostgreSQL, JSON Web Tokens (JWT)
Часть 2
В 2 части вы сделаете первые шаги по настройке пользовательского интерфейса приложения. Мы начнем с создания интерфейсного приложения React. Используя JSX, мы напишем компоненты и службы в дополнение к API аутентификации, которые позволяют пользователям регистрироваться, входить и выходить из системы. Опять же, мы обязательно протестируем наше приложение на этом пути, на этот раз используя платформу сквозного тестирования Cypress. Прежде чем мы закончим эту часть, вы узнаете, как запускать как внешний, так и внутренний интерфейс в одном контейнере Docker.
- Создайте приложение React с нуля с помощью приложения Create React
- Сделайте функциональные компоненты React, которые используют React Hooks
- Настройте маршрутизацию для навигации между различными представлениями в вашем приложении
- Напишите модульные и сквозные тесты с помощью Cypress, чтобы подтвердить, что ваш код работает должным образом
- Имитация запросов AJAX с помощью Cypress
- Реализуйте начальную загрузку, чтобы улучшить внешний вид вашего пользовательского интерфейса
- Формы кода, которые асинхронно отправляют данные на сервер
- Запустите сервер и клиент как службы Docker
- Используйте аутентификацию, чтобы конечные пользователи могли регистрироваться, входить и выходить из приложения
Инструменты и технологии: React, Cypress, Docker, React Hooks
Часть 3
В 3 части вы закончите кодирование интерфейса и соедините пользовательский интерфейс с API сервера. Продолжая с того места, на котором мы остановились в части 2, мы расширим наш пользовательский интерфейс, чтобы создать две панели мониторинга-одну для гонщика и одну для водителя. Здесь мы также создадим код JSX, необходимый для установления соединения WebSockets с сервером и подписки на него. Наряду с ручным тестированием мы проверим работу приложения в режиме реального времени с помощью автоматических тестов. Мы также включим Google Maps, чтобы пользователи могли визуализировать свое текущее местоположение и адреса, которые они вводят.
- Выполните побочные эффекты в функциональных компонентах React с помощью Effect Hook (useEffect)
- Используйте веб-сайты в React
- Добавьте всплывающие уведомления для реагирования
- Интеграция Google Maps API в приложение React
Инструменты и технологии: (асинхронный) Python, Django, Django Channels, React, Cypress, WebSockets, Google Maps, геолокация, React Hooks