Complete a Full Backend Service Cycle with Spring Boot and AWS

Complete an entire cycle of backend service development using Spring Boot, MySQL, Docker, AWS EC2, and RDS. Gain a sense of achievement by deploying an application, and explore the problems server developers face in the field when developing APIs, along with their solutions.

(5.0) 20 reviews

207 learners

Level Basic

Course period Unlimited

AWS
AWS
MySQL
MySQL
Docker
Docker
Spring Boot
Spring Boot
JPA
JPA
AWS
AWS
MySQL
MySQL
Docker
Docker
Spring Boot
Spring Boot
JPA
JPA

Reviews from Early Learners

5.0

5.0

애송이

37% enrolled

I took this course after studying Spring Boot and JPA separately. I had a basic understanding of Spring Boot and JPA concepts, but I had no idea about the overall cycle of implementing a REST API, running it, and deploying it. After taking this course, I was able to properly experience the lifecycle of a backend application. Even though I haven’t completed the entire course yet, learning about concepts such as Docker and Nginx alongside the course makes everything feel like it’s falling into place! Thank you for the great course! If you take this course with a basic knowledge of Java and Spring, you’ll truly experience a whole new world~ Please make more courses, instructor :)

5.0

Aurora

100% enrolled

It was great to see the entire flow, covering not only the application but also Docker, AWS, and GitHub Actions. Thank you for the great lecture.

5.0

황쭌쭌

23% enrolled

Alright, let's binge-watch this!

What you will gain after the course

  • Spring Boot

  • Spring Data JPA

  • MySQL

  • Docker

  • Docker compose

  • AWS EC2

  • AWS RDS

  • Pagination

  • JPA Associations

  • Database index

  • Transaction

  • Git, Github

  • CI/CD (Github Actions)

🧑‍💻 Have you ever had these concerns?

  • “I’ve developed things by following YouTube videos or blog posts, but will this really work in a real-world setting? I’m not sure…”

  • “ I built an API, but I always get stuck on deployment and can’t finish it.”

  • “I can build applications locally, but cloud platforms and Docker seem too complicated, so I end up avoiding them…”

  • “My backend service works, but I want to build it well, and I don’t know where to start…”

👉 This course is a full-cycle course designed to help you become a backend developer with experience ranging from Spring Boot development to AWS deployment.

You can complete a full real-world backend development cycle yourself.
A backend project built with Spring Boot · MySQL · AWS

  • This course is not just a simple CRUD example;
    you will experience the entire process of structuring an application → development → deployment → troubleshooting → feature improvement
    —a “hands-on backend project completion course.”

  • The main topics covered are as follows:

    • Backend development based on Spring Boot 3.4.4 & Java 21

    • Domain model design using JPA

    • Database integration with MySQL & Docker

    • AWS EC2, RDS, and deployment

    • Pagination, JPA, and transactions

🎯 Background of the Course Planning

I, too, was a backend junior without a proper mentor.
"Am I building my project correctly?" and "How do I actually deploy it?"—these questions filled my mind.

That’s why this course is designed around
👉 the “overall flow”, which is more important than implementing features themselves
👉 a structure similar to a real, working service
👉 the backend development cycle, including deployment and maintenance
.


Features of This Course

📌 Master practical skills based on Spring Boot, MySQL, and AWS all at once!
Complete a project with a “service-like” structure using a technology stack commonly used in the industry.

📌 90% hands-on practice, 10% theory. Learn backend development with real, working code
Every piece of code in the course is tested directly, with its functionality verified in real time. You will even experience deploying it for real.

📌 Beyond simple CRUD, you’ll learn data consistency and performance optimization
By using transactions to maintain data consistency and implementing various performance improvements, you can build practical server development skills.

📌 This course is for beginners
It provides a “bridge” for those with a foundation in Java and Spring Boot to move into real-world practice.

💡 What makes this course different?

  • This is not a tutorial-style course that simply has you follow along with features.

  • In the first part, you will gain a sense of accomplishment by developing and deploying a small application yourself,

  • In the latter part, we focus on highlighting the aspects backend developers need to consider and solving them together.

  • We’ve captured the know-how of a backend developer based on the trial and error and experience gained in real-world work.

Recommended for those who...

"I want to try server development, but I have no idea where to start..."

Aspiring developers / students who are unfamiliar with backend service development and feel overwhelmed because they don’t know where to start with server development

"I'm not sure if I'm building the application well, and I don't know whether I'm developing it correctly.."

Aspiring developers / job seekers studying Java and Spring Boot on their own

"I want to build a backend service that can actually be deployed from start to finish, but I'm not familiar with AWS either."
A junior developer who lacks confidence in AWS setup and deployment beyond local development.

After completing the course,

  • The flow of server development that once felt vague becomes clear, allowing you to experience the entire cycle of backend service development firsthand—from planning and design to development and deployment.
    → Through this course, you will complete a project from start to finish and build hands-on experience you can confidently showcase in your portfolio.

  • Although you’ve learned the basics of Java, you’re a job seeker feeling lost because you don’t know how development is started and improved in the real world.
    → This course provides helpful tips for improvement, from developing Spring Boot applications like real-world services to server development, making it perfect for building practical skills.

  • You have only developed on your local computer and want to try using the cloud, but even when you follow search results, things often don’t work properly, leaving you frustrated.
    → This course covers the AWS application server in the cloud and database integration in detail, helping you overcome your fear of deployment.


You’ll learn about these topics.

API: How Clients and Servers Communicate, Requesting and Responding to Data

An API is a set of rules for communication between programs. Like a restaurant menu, it is a specification that defines what the client can request and how the server will respond. Through the menu analogy, you’ll easily understand the concept of APIs and learn how they are used in real-world web services.

Hands-on API development with IntelliJ

You won’t stop at simply learning what an API is. Using IntelliJ, you’ll build an API that enables a client and server to exchange data, giving you hands-on experience with the core architecture of web services essential in real-world development.

Docker: Understanding the Core Structure of Container-Based Development

How does Docker work? A daemon process called dockerd manages images and containers, and we issue commands through the docker client. You will understand Docker’s core components, including images, containers, and registries, and learn systematically what role each one plays.

AWS EC2: Connect Directly to a Cloud Server

Cloud servers are no longer unfamiliar. Create an AWS EC2 instance, connect to it directly through the terminal, and work with a Linux environment to learn the fundamentals of server operation that are essential in practice. Get hands-on experience with everything from installing Docker and opening ports to configuring security groups.

Layered Architecture, DTO, and Entity Separation: Stable Design Through Separation of Responsibilities

How are backend applications structured? A layered architecture separates an application according to its roles, improving maintainability and scalability. Each layer—controller, service, and repository—has clearly defined responsibilities, while DTOs are objects for transferring data between layers and should be separated from entities. Learn structurally why this separation is important and how to design it.

Database Index: Understanding the Internal Structure for Fast Searches

How do databases find data so quickly? Indexes are used to speed up searches for specific columns in a table, functioning much like a book’s table of contents. Learn systematically how internal structures such as B-Trees work and in which situations using indexes can improve performance.

Pagination vs. Infinite Scrolling: Efficient Ways to Deliver Data Beyond the Limitations of OFFSET

When displaying large amounts of data in chunks, OFFSET-based queries are commonly used, but their performance drops sharply as you move to later pages. This is because the database must scan the amount of data specified by OFFSET before returning the desired results. On the backend, this is improved through approaches such as cursor-based pagination and ID-based range queries. We will systematically explore not only the UX differences between pagination and infinite scrolling, but also how query strategies change for performance optimization.

Relationships between posts and comments and transaction processing

In JPA, when establishing relationships between entities (such as Post-Comment), you can use dirty checking to automatically reflect changes in the database at the time of transaction commit. You will also systematically learn strategies for stable data processing, including how to leverage dirty checking within transactions and how much to group into a single unit of work, along with configuring entity relationships.

How to Use Git: From Basic Commands to Strategies for Collaboration and Stability

Git is the version control tool developers use most, but it plays a key role in collaboration and quality management beyond simply storing code. When working alone, the basic commands commit, push, and pull may seem sufficient, but team development requires a more structured approach, including branch strategies and commit history management.

In real-world work, Git helps organize the code review process, ensure deployment stability, and establish a foundation for team members to work in parallel. Using Git effectively can reduce confusion during collaboration and improve development productivity.

In addition to the basics, we'll also cover branch strategies and workflows commonly used in practice.


Integrating GitHub Actions with AWS SSM: Secure and Convenient Authentication via OIDC

One of the concerns when accessing cloud resources in a CI/CD pipeline is the authentication method. Traditionally, it was common to register AWS IAM user keys in GitHub Secrets, but this comes with the burden of periodic key rotation and the risk of exposure.

By leveraging OIDC (OpenID Connect) supported by GitHub Actions, you can securely access AWS resources without IAM user keys. AWS validates the token issued by GitHub and then grants temporary permissions, providing both security and convenience without the need for separate key management.

We’ll examine the integration structure between GitHub Actions and AWS OIDC and explore how to apply it in practice with specific configuration methods.

Notes Before Taking the Course

🛠 Tools and Environment Used

  • IntelliJ

  • Java 21

  • Spring Boot 3.4.4

  • MySQL (Docker)

  • AWS (EC2, RDS, IAM, SSM)


  • AWS is used under the Free Tier (no additional costs).

  • Git, Github

  • Github Actions

Study materials

  • The lecture materials are provided as a PDF so that you can review the course.

Recommended for
these people

Who is this course right for?

  • Job seeker preparing for employment

  • Those preparing to become backend developers

  • Those who want to develop a backend server themselves, from scratch through deployment

  • Those who want to know what to keep in mind when developing backend services and how to solve related issues

Need to know before starting?

  • Java: Beginner level or above

  • It’s okay if you’re not familiar with Spring or Spring JPA. We’ll cover them together in the course.

Hello
This is apiece

Inflearn Verified

Career Verified

1,814

Learners

63

Reviews

54

Answers

4.9

Rating

7

Courses

Hello, I’m Developer Hanjogak.
Having worked at Kakao and SK, I have designed and operated various backend systems in real-world service environments.

I share the problems and trial and error I encountered along the way, as well as the considerations involved in choosing technologies, through knowledge-sharing content.
From when and why to use a technology to the criteria for designing systems, I want to convey it all within a real-world context.

I hope the challenges and experiences I’ve faced help reduce your trial and error and
make better choices.

If there was anything you were curious about or found lacking while viewing the content, please feel free to let me know anytime.
I want to create better content based on your honest feedback.

Thank you.

apiece.dev.ai@gmail.com

More

Curriculum

All

61 lectures ∙ (8hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

20 reviews

5.0

20 reviews

  • jyw07140279님의 프로필 이미지
    jyw07140279

    Reviews 3

    ∙

    Average Rating 5.0

    5

    100% enrolled

    It was an essential, substantial class!

    • apiece
      Instructor

      Hello jyw0714 :) You've worked hard to complete the course! We will continue to strive to create valuable content with higher quality lectures and materials. Thank you.

  • bookoo14588605님의 프로필 이미지
    bookoo14588605

    Reviews 1

    ∙

    Average Rating 5.0

    Edited

    5

    37% enrolled

    I took this course after studying Spring Boot and JPA separately. I had a basic understanding of Spring Boot and JPA concepts, but I had no idea about the overall cycle of implementing a REST API, running it, and deploying it. After taking this course, I was able to properly experience the lifecycle of a backend application. Even though I haven’t completed the entire course yet, learning about concepts such as Docker and Nginx alongside the course makes everything feel like it’s falling into place! Thank you for the great course! If you take this course with a basic knowledge of Java and Spring, you’ll truly experience a whole new world~ Please make more courses, instructor :)

    • apiece
      Instructor

      Hello, thank you so much for your thoughtful course review! 😊 I’m also glad to hear that the concepts you learned with Spring Boot and JPA are starting to connect into the flow of an actual backend service. It means a lot to hear that the course helped ease the uncertainty of figuring out how to run and launch an API after implementing it. It also sounds like you’re following along while independently looking into Docker and Nginx, gradually turning the course content into your own knowledge. I believe the experience of connecting everything from implementation to execution and deployment will serve as a solid foundation when you build your own services in the future. I’ll be cheering you on so that you can gain an even clearer understanding of that flow in the remaining lectures! I’m continuing to work on providing even higher-quality content that can help you in real-world practice, so I’d greatly appreciate your continued interest. If you get stuck or have any questions while studying, please feel free to leave a question. Thank you :)

  • azurealstn332885님의 프로필 이미지
    azurealstn332885

    Reviews 72

    ∙

    Average Rating 4.9

    5

    100% enrolled

    It was great to see the entire flow, covering not only the application but also Docker, AWS, and GitHub Actions. Thank you for the great lecture.

    • apiece
      Instructor

      Hello, Aurora! Thank you for listening to the lectures until the end and for leaving a review. I'm glad to hear that it helped you understand the overall flow. I wish you all the best in the future. Thank you!

  • wjdtjsdnd127786님의 프로필 이미지
    wjdtjsdnd127786

    Reviews 1

    ∙

    Average Rating 5.0

    5

    24% enrolled

    It was good to understand the tool and see direct results at the same time!

    • apiece
      Instructor

      Hello, innovation0304 I'm truly happy that you liked being able to see concrete results. Thank you for the course review. We will continue to come back with practical lectures and materials :)

  • gwg9401136269님의 프로필 이미지
    gwg9401136269

    Reviews 1

    ∙

    Average Rating 5.0

    5

    23% enrolled

    Alright, let's binge-watch this!

    • apiece
      Instructor

      Hello Mr. Hwang Jjun Jjun, let's run for it! Fighting!

apiece's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!