We may earn an affiliate commission when you visit our partners.
Trevor Page

In this course you'll learn how to use Spring Boot to create a web application that pulls data from NASA's Mars Rover API.

This interactive application will allow users to choose from three of the Mars Rover landers and pull images from another planet.

It's super fun while also being educational. A win-win for any aspiring Java coder that has a soft-spot for space exploration.

Enroll now

What's inside

Learning objectives

  • Building web application with java and spring boot
  • Bootstrap 4
  • Using postman to test your app
  • Spring mvc
  • Junit
  • Thymeleaf
  • Hibernate

Syllabus

Understanding the basic background concepts for this course
Join the Discord Server
Introduction to Full-Stack Java Development
What is an API?
Read more
NASA Mars Rover API
Introduction to Postman
Creating a RESTful Web App
Using Spring Tool Suite IDE to Create Spring Boot Application
Configuring our MySQL Database
Starting to use Spring MVC
Deep Dive on Spring Models
Using RestTemplate and Junit
Mapping JSON Response to Java Objects
Debugging JSON Response Mapping Issue
Working with the Front End
Displaying Mars Rover Photos
Bootstrap Crash Course
Thymeleaf forEach Magic
Adding Dynamic Elements to our View
Using JS to Add Events to Buttons
POSTing Data via HTML Form to Java
GETing Data via HTML Forms
Highlighting Buttons with JavaScript
Adding Mars Sol Filter
Researching Mars Cameras API
Data Binding with Thymeleaf
Adding Mars Cameras to the View
Mobile Friendly UIs with Bootstrap
Refactoring and Building on Our Code
Improving Mars API Calls with Cameras
Refactoring our Ugly Code
Disabling Non-Valid Cameras in View
Debugging Disabling of Checkboxes
Adding a Database to the Project
Adding Remember Preferences Checkbox
Playing with Local Storage
Using a Form POST
Creating a DB Entity
Creating a Repository
Improving our DB Design
Bug Fixes Galore
Final Bug Fixes and Next Steps

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Uses the NASA Mars Rover API, which provides a fun and engaging context for learning Java and Spring Boot
Covers Spring MVC, Thymeleaf, and Hibernate, which are essential technologies for building modern Java web applications
Starts with basic background concepts and guides learners through creating a RESTful web app using Spring Tool Suite IDE
Includes a Bootstrap crash course and uses Thymeleaf to create dynamic and mobile-friendly user interfaces
Demonstrates how to add a database to the project, create DB entities, and use repositories for data persistence
Incorporates JUnit for testing and Postman for API testing, which are crucial for ensuring application quality

Save this course

Save How to Build a Java Spring Boot Web Application from Scratch to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in How to Build a Java Spring Boot Web Application from Scratch with these activities:
Review Core Java Concepts
Reinforce your understanding of core Java concepts like object-oriented programming, data structures, and algorithms. This will provide a solid foundation for understanding Spring Boot's dependency injection and other advanced features.
Show steps
  • Review Java tutorials and documentation.
  • Complete Java coding exercises on platforms like HackerRank or LeetCode.
  • Practice building simple Java applications.
Brush Up on REST APIs
Familiarize yourself with REST API concepts, HTTP methods (GET, POST, PUT, DELETE), and JSON data format. This will help you understand how the application interacts with the NASA Mars Rover API.
Browse courses on RESTful APIs
Show steps
  • Read articles and tutorials on REST API principles.
  • Explore existing REST APIs using tools like Postman.
  • Practice making API requests and parsing JSON responses.
Review 'Spring Boot in Action'
Study 'Spring Boot in Action' to gain a deeper understanding of Spring Boot's features and capabilities. This will help you build more robust and maintainable web applications.
Show steps
  • Read the book chapter by chapter.
  • Try out the code examples provided in the book.
  • Experiment with different Spring Boot configurations.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Spring MVC Exercises
Reinforce your understanding of Spring MVC by completing practice exercises. This will help you become more comfortable with handling web requests, processing form data, and rendering views.
Show steps
  • Find Spring MVC tutorials and exercises online.
  • Implement simple web applications using Spring MVC.
  • Experiment with different view technologies like Thymeleaf.
Write a Blog Post on a Spring Boot Concept
Solidify your understanding of a specific Spring Boot concept by writing a blog post explaining it. This will force you to think critically about the topic and articulate it clearly.
Show steps
  • Choose a Spring Boot concept that you want to learn more about.
  • Research the concept thoroughly.
  • Write a clear and concise blog post explaining the concept.
  • Include code examples and diagrams to illustrate your points.
Extend the Mars Rover App
Deepen your understanding of Spring Boot by extending the Mars Rover application with new features. This will give you practical experience applying the concepts you've learned in the course.
Show steps
  • Identify a new feature to add to the application.
  • Design and implement the feature using Spring Boot.
  • Test the feature thoroughly.
  • Document your changes.
Contribute to a Spring Boot Open Source Project
Gain valuable experience working on a real-world Spring Boot project by contributing to an open-source project. This will expose you to best practices, coding standards, and collaborative development workflows.
Show steps
  • Find a Spring Boot open-source project on GitHub.
  • Identify an issue or feature that you can contribute to.
  • Fork the repository and make your changes.
  • Submit a pull request with your changes.

Career center

Learners who complete How to Build a Java Spring Boot Web Application from Scratch will develop knowledge and skills that may be useful to these careers:
Web Application Developer
A Web Application Developer builds and maintains websites and web applications. This role frequently involves working with databases, APIs, and user interfaces. This course, by using the Spring Boot framework, can help build a foundation for developing skills related to server-side logic. It provides hands-on experience in crafting RESTful APIs and managing data from external sources while emphasizing front-end development with Bootstrap, Thymeleaf, and JavaScript integration. This course offers a practical approach to learning the tech stack needed for web application development.
Full-Stack Developer
A Full Stack Developer handles both the front-end and back-end of a web application. The course provides an experience of full-stack development. It uses front-end technologies like Bootstrap, Thymeleaf, and JavaScript as well as back-end development using Spring Boot, and database integration using MySQL. The course provides a practical understanding of how these parts work together. This experience helps the Full Stack Developer gain proficiency in both areas of web development.
Java Developer
A Java Developer is responsible for designing, coding, and debugging Java-based applications. The course provides a focused project-based learning method for learning the Spring Boot framework. Taking this course helps build a foundation for developing Java web applications using Spring Boot, and the course includes important skills such as developing RESTful APIs, database integration, and front-end interface construction using Thymeleaf. Skills from this course can help a Java developer understand and adopt best practices in web app development.
Backend Developer
A Backend Developer builds and maintains the server-side of web applications, focusing on databases, APIs, and server logic. The course, with its emphasis on Spring Boot and RESTful API development, provides knowledge on how backend systems operate. It offers practical experience in managing data flow from an external API, implementing business logic, and interacting with databases. This class specifically targets building skills that are crucial to backend development. By understanding the course's project structure, a Backend Developer can improve knowledge of full-stack development.
Software Engineer
A Software Engineer designs and develops software systems. This course may help a software engineer learn about Java web app design. By exploring the structure of a real-world project, a Software Engineer can gain practical implementation skills in web applications. This course covers Spring Boot, RESTful APIs, and database integration, and helps teach the full-stack development process. The course gives the Software Engineer both front-end and back-end development skills.
API Developer
An API Developer designs, develops, and maintains Application Programming Interfaces (APIs). This course provides a deep dive into creating RESTful APIs using Spring Boot. The course offers hands-on experience in mapping JSON responses to Java objects. It also includes techniques for debugging issues related to JSON mappings. The project in this course, which accesses the NASA Mars Rover API, gives practical experience that an API Developer will find useful. Furthermore, this course provides practice with using Postman for testing APIs.
Junior Developer
A Junior Developer is an entry level role in software development. The course provides a practical view of full stack development using Java and the Spring Boot framework. The course provides a project-based approach to learning that is helpful for a Junior Developer to gain skills and experience. It covers fundamental aspects of web application development including RESTful APIs, database integration, and front-end technologies. Learning to use debugging tools, like that offered using Postman in this course, will be particularly useful.
Application Architect
An Application Architect designs the overall structure and components of a software application. In this course, the full-stack implementation of a web application is explored, which may be useful to an application architect. The course guides a student through the entire process of developing a web app, from setting up the environment using Spring Boot to designing the user interface. By following this process, an Application Architect may better understand development challenges, which can improve decision making.
Solutions Architect
A Solutions Architect designs and oversees the development of software systems to meet specific business needs. The course provides hands-on experience with full-stack web development that a Solutions Architect may find useful to understand the development process better. This course teaches how to integrate various components, from back-end logic with Spring Boot, front-end development with Bootstrap, and integration with external APIs. This can help a Solutions Architect better design solutions.
Database Developer
A Database Developer designs, implements, and maintains databases. Although this course does not primarily focus on databases, it touches on database integration using MySQL and how it integrates with a Spring Boot application. This course provides practical experience in configuring and using a MySQL database in a web application. The skills learned in the integration of databases in this course may be useful to a Database Developer.
Front-End Developer
A Front End Developer builds the user interface of websites and web applications. While not the main focus of this course, skills learned in it may still help a Front End Developer in the use of Bootstrap, JavaScript, and Thymeleaf. The course offers hands-on experience in using these technologies to create interactive elements on a web page. It shows how to integrate front-end components with back-end logic, to show the complete development process. The course shows how a front end links to a Java based backend.
Technical Project Manager
A Technical Project Manager oversees software development projects. By having an understanding of full stack software development, this course may be useful. The course can give valuable practical exposure to web application development. This includes API integration, database handling, and front-end development. The course can build an understanding of the technologies, and it may also help the Technical Project Manager to improve task breakdown and team coordination.
IT Consultant
An IT Consultant advises organizations on how to use technology effectively. While not directly related to the role, the course may be useful for understanding web app development. By using the Spring Boot framework, data management, and front-end development, the course may assist an IT Consultant in advising clients on the technical aspects of web projects. This hands-on experience can help an IT Consultant with a more practical understanding of common development challenges.
Webmaster
A Webmaster is responsible for maintaining and managing websites. This course may be useful for a webmaster because it touches on aspects of web development. From server-side logic with Spring Boot to front-end interfaces with Bootstrap, the course gives practical knowledge of managing a website's structure. Although the role of webmaster has less to do with programming, this course still may be useful. The course offers experience in how the pieces will all fit together.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for testing software and ensuring it meets quality standards. This course includes an introduction to JUnit, which is a Java testing framework. By following this course, a Quality Assurance Engineer can learn about the testing process using an actual project with testing tools. This may be useful to ensure familiarity with practical software development, and it can improve testing ability. This course, by showcasing JUnit testing, promotes quality assurance.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in How to Build a Java Spring Boot Web Application from Scratch.
Provides a comprehensive guide to building applications with Spring Boot. It covers topics such as auto-configuration, data access, REST APIs, and security. It's a valuable resource for understanding the underlying principles and best practices of Spring Boot development. This book is commonly used as a textbook at academic institutions and by industry professionals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser