Spring Boot

A Java Framework


Progress
Reviewed: 0%
8 Tasks


This tracker is designed to equip you with the essential knowledge and skills to develop modern and efficient Java applications using Spring Boot. Spring Boot is a popular framework that simplifies the development of production-ready applications, allowing you to focus on writing high-quality code without getting bogged down in complex configurations.
The tracker would cover:
1. Introduction to Spring Boot
2. Building RESTful APIs
3. Data Access with Spring Boot
3. Simple UI using Thymeleaf

Whether you are a beginner or an experienced developer looking to enhance your Java skills, this course will empower you to take full advantage of Spring Boot and accelerate your development journey.

Begin by creating a GitHub account.
1. Once you have your account, create a new repository with the name "skill_captain_springboot".
2. Inside this repository, organize your daily assignments by creating a separate folder for each day's work. Name each folder "day".
3. Make sure to add your assignments to the respective day's folder to keep them organized and easily accessible.
By following these steps, you'll have a GitHub account with a repository specifically designed for your SpringBoot assignments, neatly organized by day.


  • Day 2
  • Make 'Hello World' Rest API

    Concept:



    Resources:



    Assignments:


    Expand the "Hello World" REST API

    Objective: - Build upon the existing "Hello World" REST API implemented in the tutorial. - Extend the API to include additional endpoints and functionality.

    Tasks:
    1. Create a new endpoint `/greet/{name}` that accepts a path parameter representing a person's name and returns a personalized greeting. For example, a request to `/greet/John` should return "Hello, John!".
    2. Implement error handling for invalid or empty name values. Return an appropriate error message and status code when the name parameter is missing or blank.
    3. Add a new endpoint `/greet/{name}/{language}` that accepts both name and language parameters. Return a greeting message based on the specified language. For example, `/greet/John/es` should return "Hola, John!" for Spanish.
    4. Implement support for handling HTTP POST requests. Create an endpoint `/greet` that accepts a JSON payload with a name field and returns a greeting message. Test this endpoint using tools like cURL or Postman.
    5. Add unit tests to verify the behavior of the new endpoints. Write test cases to cover different scenarios, including valid and invalid inputs.

    Submission:
    1. Submit the updated source code with the expanded API. 2. Include any new classes or modifications made to existing classes. 3. Include a brief document describing the changes made and any challenges faced during the assignment.

    This assignment will allow you to practice extending the functionality of a Spring Boot REST API and reinforce the concepts covered in the tutorial. It encourages you to explore additional endpoints, handle different types of requests, and perform unit testing to ensure the desired behavior of the API.



  • Day 3
  • GET API to fetch data from MySQL database

    Concept:



    Resources:



    Assignments:


    Expand the User Management API

    Objective:
    1. Extend the existing User Management API implemented in the tutorial.
    2. Implement additional functionality to manipulate user data in the MySQL database.

    Tasks:
    1. Implement a new endpoint to retrieve a single user by their ID. Create a GET API endpoint `/users/{id}` that accepts a path parameter representing the user ID and returns the corresponding user object.
    2. Implement a new endpoint to update a user's email address. Create a PUT API endpoint `/users/{id}/email` that accepts a path parameter for the user ID and a request body containing the updated email address. Update the user's email in the database and return the updated user object.
    3. Implement a new endpoint to delete a user. Create a DELETE API endpoint `/users/{id}` that accepts a path parameter for the user ID. Delete the user from the database and return a success message.
    4. Add validation to the POST and PUT endpoints. Ensure that the required fields (e.g., name and email) are provided in the request body, and return appropriate error responses for missing or invalid data.

    Submission:
    1. Submit the updated source code with the expanded API.
    2. Include any new classes or modifications made to existing classes.
    3. Include a brief document describing the changes made and any challenges faced during the assignment.

    This assignment will allow you to practice extending the functionality of the User Management API by implementing additional CRUD operations on user data in the MySQL database. It will help reinforce the concepts covered in the tutorial and give you hands-on experience in working with RESTful APIs, database integration, data validation, and unit testing.



  • Day 4
  • API to store data in MySQL database

    Concept:



    Resources:



    Assignments:


    Extend the User Management API

    Objective:
    1. Extend the existing User Management API implemented in the tutorial to include additional functionality for storing and managing user data in the MySQL database.

    Tasks:
    1. Implement a new POST API endpoint `/users` to handle the creation of new users. Accept a JSON payload in the request body containing the user's name and email. Save the user data in the database and return the created user object in the API response.
    2. Add validation to the POST endpoint to ensure that the required fields (name and email) are provided in the request body. Return appropriate error responses for missing or invalid data.

    This assignment will allow you to practice extending the functionality of the User Management API by implementing additional CRUD operations on user data in the MySQL database. It will help reinforce the concepts covered in the tutorial and give you hands-on experience in working with RESTful APIs, database integration and data validation.



  • Day 6
  • UI using Thymeleaf in Java

    Concept:



    Resources:



    Assignments:


    Develop a web application using Spring Boot and Thymeleaf to enable CRUD operations on user entities. The application should provide a user-friendly interface with features such as creating, viewing, updating, and deleting user records. Implement proper validation, pagination, and styling using CSS.



×

Let's Go!

Congratulations on getting started. Here is a little reward for you...

×

10

Going to the next task in