
Draw a basic full-stack architecture with a PostgreSQL relational database for books and members, a Java Spring Boot backend exposing REST APIs, and a frontend using HTML, JavaScript, and CSS.
Explore a simple library data model featuring books, members, postal addresses, and a checkout register, detailing primary keys and foreign key relationships created via backend in PostgreSQL.
Set up a PostgreSQL database using Pgadmin, create a database named my library app, connect with Dbeaver, and prepare for backend initialization by exploring the public schema.
Implement get requests for books in a java spring boot app by retrieving all books and a book by ID via a service, repository, dtos, and mapper.
Design search services and controllers for books using JPA repository methods and criteria builder to support title, author, ISBN, and barcode queries with DTO mapping.
Learn to implement get all addresses and get address by id endpoints using a service, repository, and mapper to return address DTOs via a Spring Boot REST API.
Update postal address via patch mapping: locate by id, partially update non-null fields from the address DTO, save with the repository, and map to the updated address DTO.
Implement a delete address endpoint in a Spring Boot app by deleting by id through the repository, exposed via a delete mapping, and returning a confirmation message.
Develop a member feature by building services, controllers, and mappers for a member entity, using a member dto and address dto to persist data via repositories.
Design get all members and get member by id in the member service, using repository.findAll and repository.findById, mapping entities to member dtos via the member mapper.
Create library checkout register by modeling the entity and DTO, mapping them, and building a service and REST controller to calculate due dates from a loan period in application properties.
Implement robust exception handling in a Spring Boot application by creating a global exception handler and a resource not found exception, returning meaningful error details with 404 not found.
Introduce a backend logging system using a logger to monitor the book flow from controller to service, logging book DTOs, mappings, and saved entities for debugging.
Configure cross-origin resource sharing in spring boot to allow requests from any origin, enabling all methods and headers so the frontend on a different server can access the backend.
Develop the front end by wiring an add book HTML form to the backend via the post API using a dedicated add book script, fetch calls, and form data.
Fetch the member's checked-out books by querying the checkout register and the books table. Display titles, authors, and due dates on the member info page, handling empty results gracefully.
toggle the membership action link between activate and terminate and implement a patch request to update membership status, setting today's date when ending membership.
Enhance member hyperlinks by appending the member id and barcode to checkout, history, and edit links, and conditionally display the checkout link based on membership status.
Implement a current holders feature by fetching loans from the checkout register and displaying a table of members with first name, last name, card number, checkout date, and due date.
This lecture shows how to fetch a book's checkout history from the backend, filter completed returns, fetch member details, and render an html table with dates and names.
Master the edit member workflow by pre-filling a form with data fetched from the API, displaying the member id, and sending a patch request to update the member.
Apply a shared stylesheet to the search members page, styling the form, inputs, and buttons, and build a styled results table with alternating rows, borders, hover effects, and action buttons.
Apply consistent styles to the add member page by updating HTML inputs and CSS for date and email, convert links to buttons, and finalize the add member page.
Style the book checkout page by linking the style CSS, setting the form to search form, and the buttons to button; save and refresh to see the polished page.
Polish the member-info.html page by applying styles, turning hyperlinks into buttons, refining headings and spacing, and implementing a standalone action button for the return link.
Transform the member history page by applying styles, updating HTML and JS to use a single results table without separate head and body sections, and finalize the member history page.
Finish styling the edit book page by linking the stylesheet, applying the search form and button classes, and ensuring consistent CSS styling; test all features and complete the application.
Welcome to this comprehensive course designed to transform you into a proficient full stack developer. This course is meticulously crafted to cover all the foundational concepts necessary to excel in the realms of both frontend and backend development, ensuring you acquire the title of a full stack developer with confidence.
Embark on a detailed learning journey where we will build a complete project from the ground up. This hands-on approach will introduce you to essential topics such as data modeling, the intricacies of backend development, and the art of crafting engaging user interfaces. You'll gain in-depth knowledge and practical skills in a variety of technologies, including:
PostgreSQL: Dive into the world of relational databases and learn how to manage and manipulate data effectively.
Java Development: Master the Java programming language, a cornerstone of backend development, known for its performance and versatility.
SpringBoot Framework: Discover the power of SpringBoot, enabling rapid development and ease of application deployment.
Postman: Become proficient in testing APIs with Postman, an essential tool for backend developers.
HTML & CSS Design: Unleash your creative side by learning how to design visually appealing and responsive websites.
JavaScript: Enhance the interactivity and functionality of your web pages with JavaScript, the backbone of frontend development.
To maximize the benefits of this course, I encourage you to actively follow along. Pause the video content regularly to code side-by-side with me. This practice will not only solidify your understanding but also equip you with hands-on experience, setting a strong foundation for your software development career.
I am Luka Popov, your guide on this educational adventure. Holding certifications as an Oracle Certified Associate: Java SE 8 Programmer and Oracle Certified Professional: Java SE 17 Developer, I come with a PhD in theoretical physics. My background includes over a decade of teaching experience at the university level, coupled with more than five years of professional software development experience. Currently, I serve as a senior Java developer in a leading telecom company.
Embarking on this course is the first step towards mastering full stack development. I am here to support your learning journey every step of the way. Should you have any questions or need further clarification, please do not hesitate to reach out.
Happy learning, and I look forward to helping you achieve your goals in the fascinating world of full stack development!