Tags
Language
Tags
May 2025
Su Mo Tu We Th Fr Sa
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Kotlin Spring Boot Api Design First With Spring Security

    Posted By: ELK1nG
    Kotlin Spring Boot Api Design First With Spring Security

    Kotlin Spring Boot Api Design First With Spring Security
    Published 10/2024
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 13.41 GB | Duration: 28h 18m

    API design first backend for grocery shopping with user authorisation and authentication for an RESTful API

    What you'll learn

    Learn how to quickly design the database schema by using online tools

    Learn how to set up a local dev environment with a Postgres Docker Container and connect it with your IDE

    Learn how to create an API First Design backend

    Learn in a practical way Spring Security by authorisation and authentication with user sign up via an SMTP service

    Learn how to implement an RESTful grocery shopping API

    Learn how to properly write Unit & Integration Tests for your backend

    Learn how to generate collections by using an YAML file and test your endpoints manually with Postman

    Requirements

    Internet connection

    Docker Desktop (free version)

    Postman (free version)

    IDE (I recommend IntelliJ, but VS Code is also fine)

    A bit of Kotlin and Spring Boot experience

    Description

    Unlock the power of Kotlin and Spring Boot to build robust, scalable backend systems with an API-first approach. In this comprehensive course, you will learn how to design, develop, and secure a RESTful API tailored for grocery shopping applications.Starting with the foundational concepts, you’ll dive deep into API design using YAML files, where you’ll define your endpoints and Data Transfer Objects (DTOs) before writing any backend code. This approach ensures a clear, well-documented API that is consistent, easy to maintain, and ready for integration from the get-go.What You'll Learn:API-First Design: Master the principles of API-first development by defining your endpoints and DTOs in YAML. Learn how this approach can streamline your development process and improve collaboration with frontend teams.Kotlin with Spring Boot: Harness the full potential of Kotlin, a modern programming language, alongside Spring Boot, a powerful framework, to develop your backend logic. We’ll cover everything from setting up your project to implementing business logic.Building RESTful APIs: Create a feature-rich RESTful API for a grocery shopping application. You’ll build endpoints for product browsing, shopping cart management, order processing, and more.User Authentication and Authorization: Implement robust security features using Spring Security and JWT (JSON Web Tokens). Learn how to handle user sign-up, sign-in, and role-based access control to protect your API.Database Integration: Connect your API to a database and manage data persistence effectively. You’ll work with Kotlin data classes, JPA (Java Persistence API), and Hibernate to interact with your data layer.Testing and Validation: Ensure your API is reliable and bug-free by writing comprehensive unit and integration tests. Validate inputs and handle errors gracefully to provide a seamless user experience.Deployment and Best Practices: Deploy your Spring Boot application to production environments, and learn best practices for maintaining and scaling your API.Who Should Enroll:Aspiring Backend Developers: If you're looking to specialize in backend development, this course will give you the essential skills and knowledge to build production-ready APIs using Kotlin and Spring Boot.Experienced Developers: For those already familiar with backend development, this course offers an in-depth look at API-first design and security best practices, enhancing your current skill set.Full-Stack Developers: If you work on both frontend and backend, this course will help you streamline the backend side of your projects, making integration with frontend components smoother and more efficient.Why This Course?Hands-On Learning: Gain practical experience by building a fully functional grocery shopping API from start to finish.Expert Instruction: Learn from an experienced backend developer with a deep understanding of Kotlin and Spring Boot.Real-World Application: The course is designed with real-world scenarios in mind, ensuring you gain skills that are directly applicable in the job market.By the end of this course, you'll have the confidence to design, develop, and secure RESTful APIs with an API-first approach, using Kotlin and Spring Boot. Whether you're building your own projects or contributing to large-scale applications, this course will equip you with the tools you need to succeed.Enroll today and start your journey to becoming a proficient backend developer!

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Section 2: Database schema design

    Lecture 2 Start with the database schema

    Lecture 3 Finish the database schema

    Section 3: Set up your local dev database

    Lecture 4 Create a new docker network and container

    Lecture 5 Create the groceries database

    Lecture 6 Summary about the last commands

    Section 4: Set up Kotlin Spring Boot project

    Lecture 7 Set up your IDE & connect to Postgres

    Lecture 8 Commit for .gitignore and rest of project

    Lecture 9 Dependencies in build.gradle.kts Part 1

    Lecture 10 Dependencies in build.gradle.kts Part 2

    Lecture 11 Start to set up the application.yml file

    Lecture 12 Finish set up of application.yml file

    Lecture 13 Creating a local .env file

    Lecture 14 Explanation of the Spring Logs

    Lecture 15 First interaction with the open-api.yml file

    Lecture 16 Explaining the branches of the project

    Section 5: The error package

    Lecture 17 The API error class

    Lecture 18 Start to implement GlobalExceptionHandler

    Lecture 19 Implement all custom exception classes

    Lecture 20 Start to group the exception classes

    Lecture 21 Finish error package

    Section 6: The user package

    Lecture 22 Start to implement user entity

    Lecture 23 Inherit from UserDetails interface

    Lecture 24 Set one to one relationship to verification token

    Lecture 25 Set one to many relationship to shopping list

    Lecture 26 Create the user repository

    Lecture 27 Create an interface for the user service

    Lecture 28 Design your first endpoint in YAML

    Lecture 29 Design your first data transfer object in YAML

    Lecture 30 Design other PATCH endpoints in YAML for user resource

    Lecture 31 Finish designing all endpoints and DTOs for user resource

    Lecture 32 Generate code for user resource and DTOs

    Lecture 33 Create a mapper for an entity to DTO

    Lecture 34 Start implementation of user service

    Lecture 35 Implement the authentication config class

    Lecture 36 Define an interface for signed-in user session

    Lecture 37 Implement change password logic for user

    Lecture 38 Finish implementation of user service

    Lecture 39 Implement user controller

    Lecture 40 Generate enum classes

    Lecture 41 Start to set up the integration tests for user repository

    Lecture 42 First integration tests for finding user by email

    Lecture 43 Finish the integration tests for user repository

    Lecture 44 User mapper unit test

    Lecture 45 Start with adding fields for user service unit tests

    Lecture 46 Unit test for change user email

    Lecture 47 Unit test for trigger invalid email format exception

    Lecture 48 More unit tests for bad request exception regarding email

    Lecture 49 Unit test for change user password

    Lecture 50 Triggering password mismatch exception tests

    Lecture 51 Finish unit tests for user service

    Section 7: The auth package

    Lecture 52 Create the repository for verification token

    Lecture 53 Implement client session service

    Lecture 54 Generate JWT secret key

    Lecture 55 Implement logic for generating JWT keys

    Lecture 56 Extract username from JWT token

    Lecture 57 Finish implementing JWT service

    Lecture 58 Setup SMTP service with Brevo

    Lecture 59 Start implementing email service

    Lecture 60 Implement logic for send emails

    Lecture 61 Finish implementation of email service

    Lecture 62 Start to define auth endpoints

    Lecture 63 Define first DTOs for auth endpoints

    Lecture 64 Define verify user and sign-in endpoints

    Lecture 65 Finish defining auth endpoints

    Lecture 66 Create mapper for register request to user entity

    Lecture 67 Start implementing account management service

    Lecture 68 Implement user sign-up

    Lecture 69 Implement verify user

    Lecture 70 Implement sign-in user

    Lecture 71 Implement reset user password

    Lecture 72 Start implementing the filter for JWT

    Lecture 73 Implement first request filter

    Lecture 74 The auth controller

    Lecture 75 Start implementing the security config for the API

    Lecture 76 Finish implementing security config for API

    Lecture 77 Fix JWT filter bug

    Lecture 78 Start testing endpoints with Postman

    Lecture 79 Test remaining endpoints in Postman

    Lecture 80 Integration test for verification token repo

    Lecture 81 Unit test for sign-up mapper

    Lecture 82 Unit tests for JWT key creation

    Lecture 83 Preparing to write unit tests for account management service

    Lecture 84 Unit test for successful user sign-up

    Lecture 85 Unit tests for sign-up exceptions

    Lecture 86 Unit test verify user for success case

    Lecture 87 Unit test verify user exception cases

    Lecture 88 Unit test verify for expired verification token

    Lecture 89 Unit test sign-in for authentication response

    Lecture 90 Unit test sign-in exceptions cases

    Lecture 91 Unit tests for reset password

    Lecture 92 Set up client session service test class

    Lecture 93 Unit tests for client sessions methods for the success cases

    Lecture 94 Unit tests for client sessions methods for the exception cases

    Lecture 95 Start unit tests for email service

    Lecture 96 Finish unit tests for email service

    Lecture 97 Set up the jwt service test class

    Lecture 98 First unit test for jwt service

    Lecture 99 Unit test for exception case and is token valid logic of jwt service class

    Lecture 100 Finish unit tests for jwt service

    Lecture 101 Improve unit tests for email service

    Lecture 102 Set up integration test for authentication controller

    Lecture 103 Integration test for sign-up endpoint

    Lecture 104 Finish integration tests for authentication controller

    Lecture 105 Start to setup integration tests for user controller

    Lecture 106 Integration test for change email endpoint for user controller

    Lecture 107 More integration tests for user controller endpoints

    Lecture 108 Finish integrations tests for user controller

    Section 8: The config package

    Lecture 109 Short explanation of the config package

    Section 9: The retail package

    Lecture 110 Start to design the endpoints for shopping list

    Lecture 111 Start to define DTOs for shopping list endpoints

    Lecture 112 More DTOs to define

    Lecture 113 Define more DTOs for shopping list item and supermarket

    Lecture 114 Define new endpoints for fetching and deleting a specific shopping list

    Lecture 115 Define patch endpoint for shopping list by id plus the DTOs

    Lecture 116 Define a new endpoint for GET and POST requests for list items

    Lecture 117 Define a new endpoint for GET and DELETE and PATCH for a specific list item

    Lecture 118 Define the DTOs for updating a list item

    Lecture 119 Define two more endpoints for grocery item

    Lecture 120 Create new entity and modify existing one

    Lecture 121 Create remaining entities

    Lecture 122 Implement business logic related handling supermarket

    Lecture 123 Start to implement business logic for grocery item

    Lecture 124 Finish implementing the logic for grocery item service

    Lecture 125 Create repo and mapper for shopping list item

    Lecture 126 Start to implement shopping list item service

    Lecture 127 Finish implementing the shopping list item service

    Lecture 128 Implement repository and mapper for shopping list

    Lecture 129 Define the methods for shopping list service

    Lecture 130 Start to implement shopping list service

    Lecture 131 Finish implementing helper methods for shopping list service

    Lecture 132 Implement methods for creating and fetching a specific shopping list

    Lecture 133 Implement get shopping lists method

    Lecture 134 Implement update and delete methods for shopping list service

    Lecture 135 Implement methods for grocery item and shopping list item

    Lecture 136 Finish implementing shopping list service

    Lecture 137 Implement the grocery item controller

    Lecture 138 Implement shopping list item controller

    Lecture 139 Fix error in shopping list item controller

    Lecture 140 Implement shopping list controller

    Lecture 141 Integration Tests for grocery item repository

    Lecture 142 Integration Tests for supermarket repository

    Lecture 143 Integration Tests for shopping list item

    Lecture 144 Setup class for shopping list repository integration tests

    Lecture 145 Write the first integration tests for shopping list repository

    Lecture 146 Finish integration tests for shopping list repository

    Lecture 147 Unit Tests for grocery item mapper

    Lecture 148 Finish unit tests for remaining mapper classes

    Lecture 149 Unit Tests for supermarket service

    Lecture 150 Start with unit tests for grocery item service

    Lecture 151 More unit tests for grocery item service

    Lecture 152 Finish unit tests for grocery item service

    Lecture 153 Start writing unit tests for shopping list item service

    Lecture 154 Unit Tests for deleting list items in shopping list item service

    Lecture 155 Unit Test for creating a list item in shopping list item service

    Lecture 156 Finish unit tests for shopping list item service

    Lecture 157 Start setting up shopping list service

    Lecture 158 First unit test for shopping list service

    Lecture 159 Unit Test exception for creating a shopping list and fetching a shopping list

    Lecture 160 Unit Tests for fetching a single and multiple shopping lists

    Lecture 161 Finalise unit tests for fetching multiple shopping lists

    Lecture 162 Start unit testing updating a shopping list

    Lecture 163 Unit Test update and delete shopping list

    Lecture 164 Unit Test fetching a single grocery item in shopping list service

    Lecture 165 Unit Test updating a grocery item and fetch list items in shopping list service

    Lecture 166 Unit Tests for get shopping list item

    Lecture 167 Unit Test create shopping list item response

    Lecture 168 Unit Tests for deleting list item in shopping list service

    Lecture 169 Finalise unit tests in shopping list service

    Lecture 170 Setup integration test for grocery item controller

    Lecture 171 First integration test for update grocery item

    Lecture 172 Finish integration tests for grocery item controller

    Lecture 173 Start with the first integration test for shopping list item controller

    Lecture 174 Integration tests for delete and fetch specific list item

    Lecture 175 Finish integration tests for shopping list item controller

    Lecture 176 Start writing first integration test for shopping list controller

    Lecture 177 Integration Tests for deleting and fetching a specific shopping list

    Lecture 178 Finalise integration tests for shopping list controller

    Section 10: Testing endpoints in Postman

    Lecture 179 Insert supermarket entries into database

    Lecture 180 Generate new Postman collection

    Lecture 181 Manually test the grocery-item-resource endpoints

    Lecture 182 Manually test the shopping-list-item-resource endpoints

    Lecture 183 Manually test the shopping-list-resource endpoints

    Section 11: Outro

    Lecture 184 Summary and improvement ideas

    Beginners and intermediate software developers