Пишем Backend на Kotlin и Ktor: Создаем роуты для регистрации и авторизации

Вот и дошли руки у меня до этой серии роликов и сегодня я выкладываю первую часть написания сервера на Kotlin + Ktor. В этой серии роликов мы напишем простенький сервер, который поможет нам регистрировать пользователей и выполнять простенькие CRUD операции. Я напомню, что не являюсь backend разработчиком и скорее всего в видео есть какие-то ошибки, который было бы не плохо исправить. Этот сервер я пишу исключительно для для следующего моего курса, где я буду писать кроссплатформенное мобильное приложение с использованием Kotlin Multiplatform, который начнет выходить сразу же после этого курса! Не забудь поставить лайк и оставить комментарий) Это здорово поможет развитию канала :) В этом ролике мы: 👉 Создадим и имплементируем Card Repository 👉 Создадим Card Usecase 👉 Запушим изменения на Github ТАЙМ КОДЫ: 00:00 - Вступление 00:21 - Создаем User route 02:33 - Пишем роут регистрации пользователя 11:40 - Шифруем пароль 15:57 - Пишем роут авторизации пользователя 21:12 - Тестируем результат в Postman 25:37 - Пушим изменения на гитхаб 26:49 - Заключение GitHub проекта: https://github.com/Flop88/ktor-simple... Curl'ы для Postman: Registration: curl --location 'http://0.0.0.0:8080/api/v1/signup' \ --header 'Content-Type: application/json' \ --data-raw '{ "email": "[email protected]", "login": "mvlikhachev", "password": "123qwe", "firstName": "Maksim", "lastName":"Likhachev", "role": "client" }' Login: curl --location 'http://0.0.0.0:8080/api/v1/login' \ --header 'Content-Type: application/json' \ --data-raw '{ "email": "[email protected]", "password": "123qwe" }' Create: curl --location 'http://0.0.0.0:8080/api/v1/create-card' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \ --data '{ "cardTitle": "Test title 3", "cardDescription": "Test description 3", "cardDate": "03.03.2023" }' Update: curl --location 'http://0.0.0.0:8080/api/v1/update-card' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \ --data '{ "id": 4, "cardTitle": "Test title 4", "cardDescription": "Test description 4", "cardDate": "01.03.2023", "isVerified": true }' Delete: curl --location --request DELETE 'http://0.0.0.0:8080/api/v1/delete-card?id=5' \ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \ --data '' Get All Cards: curl --location 'http://0.0.0.0:8080/api/v1/get-all-cards' \ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYXJkc0FwcEF1dGhlbnRpZmljYXRpb24iLCJpc3MiOiJ5b3V0dWJlLWNhcmRzLXNlcnZlciIsImVtYWlsIjoid3d3cXd3d3F3d3dxd3d3cUBnbWFpbC5jb20iLCJleHAiOjE2OTM4NTM4ODF9.M_l73ZXXsOMoemhehI6Q6Al0NxzjG1P4e2fyXfT9DFAVTuGuJX42bVRJSaMPzFkkl72mDMvHda073kLG5NQJxg' \ --data '' Курс по созданию простого backend использует следующий стек технологий: ✅ Kotlin ✅ Ktor ✅ PostgreSQL ✅ Exposed ✅ Hikari Друзья, лучшей благодарностью и мотивацией для меня делать новые видео будет ваш лайк и подписка. Так же хочу сказать, что видео я снимаю на чистом энтузиазме и никакого дохода с них не имею. Все сказанное в данном ролике является моим личным мнением и оценочным суждением. 🌐 Мои соц сети: ➡️ YouTube Maxim Likhachev: @mvlikhachev ➡️ YouTube Maxim Likhachev | Learn: @MaximLikhachevLearn ➡️ Telegram: https://t.me/mvlikhachev ➡️ Instagram:   / mv.likhachev   ➡️ Threads: https://www.threads.net/@mv.likhachev ➡️ Twitter:   / wwwqwwwq   💸 Поддержать проект: USDT: TQa62XGkzEn1hykAeUTye6GrsRQLB26kW7 BTC: 1E8ifH213NNEbMeRQf4wk8REbkd6a3qt8h

Пишем Backend на Kotlin и Ktor: Создаем роуты для создания, чтения, обновления и удаления карточек
▶︎

Пишем Backend на Kotlin и Ktor: Создаем роуты для создания, чтения, обновления и удаления карточек

Работа с сетью в Android(Rest API): Retrofit, OkHttp, Gson, ViewModel, Coroutines, LiveData и т.п
▶︎

Работа с сетью в Android(Rest API): Retrofit, OkHttp, Gson, ViewModel, Coroutines, LiveData и т.п

Пишем Backend на Kotlin и Ktor: Создание проекта, подключение GIT, зависимостей и создание таблиц БД
▶︎

Пишем Backend на Kotlin и Ktor: Создание проекта, подключение GIT, зависимостей и создание таблиц БД

Чистая архитектура на практике ASP.NET Core: Проектируем Persistence | Часть 2
▶︎

Чистая архитектура на практике ASP.NET Core: Проектируем Persistence | Часть 2

الرقية الشرعية للشفاءمن السحروالعين والحسد حصن من الشيطان رقية البيت والاولاد بصوت القارئ سعيد حمدان
▶︎

الرقية الشرعية للشفاءمن السحروالعين والحسد حصن من الشيطان رقية البيت والاولاد بصوت القارئ سعيد حمدان

Наивный инспектор ГИБДД  хотел посмотреть багажник у юриста
▶︎

Наивный инспектор ГИБДД хотел посмотреть багажник у юриста

I Spent 20 Days Building the Cheapest Forest House Alone to Live: Solo Bushcraft (Full)
▶︎

I Spent 20 Days Building the Cheapest Forest House Alone to Live: Solo Bushcraft (Full)

Что такое Nginx?
▶︎

Что такое Nginx?

Пишем Backend на Kotlin и Ktor: Создаем JWT Service и User repository и Usecase
▶︎

Пишем Backend на Kotlin и Ktor: Создаем JWT Service и User repository и Usecase

432Hz - Fall Into Deep Sleep in 3 Minutes, Heal All Damage In The Body and Spirit, Relieve Stress #2
▶︎

432Hz - Fall Into Deep Sleep in 3 Minutes, Heal All Damage In The Body and Spirit, Relieve Stress #2

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

150 минут, которые изменят ваше понимание Вселенной - Физик Александр Панов
▶︎

150 минут, которые изменят ваше понимание Вселенной - Физик Александр Панов

Я перестал мечтать и начал делать (вот что сработало)
▶︎

Я перестал мечтать и начал делать (вот что сработало)

Основные компоненты Android: Activity, Service, Content provider и Broadcast receiver на практике
▶︎

Основные компоненты Android: Activity, Service, Content provider и Broadcast receiver на практике

Единственная женщина-вор в законе СССР
▶︎

Единственная женщина-вор в законе СССР

Пишем Backend на Kotlin и Ktor: Создаем JWT Service и User repository и Usecase
▶︎

Пишем Backend на Kotlin и Ktor: Создаем JWT Service и User repository и Usecase

Across the World Without Internet
▶︎

Across the World Without Internet

Flow State Music | No Lyrics Creative Flow Music - Ultimate Work Flow Music For Focus Mode
▶︎

Flow State Music | No Lyrics Creative Flow Music - Ultimate Work Flow Music For Focus Mode

China released horses into a dead desert where nothing grew - what happened next no one expected
▶︎

China released horses into a dead desert where nothing grew - what happened next no one expected