Creating a Book Search Engine from Scratch Using Java and GitHub Copilot
2h 11mIntermediate2024-12-11
Authors

Harit Himanshu
Course details
In this intermediate-level course, you will learn how to build a comprehensive book search project using Java, Maven, Spring Boot, PostgreSQL, and Docker. Download and prepare book data from a public archive, then design and implement a PostgreSQL database schema optimized for full-text search. Containerize the database with Docker to streamline the development process. Learn how to create RESTful APIs for searching and providing insights based on various dimensions, such as publication year and author. Find out how to use VS Code and GitHub Copilot to enhance productivity and efficiency. When you complete this course, you'll have the skills to develop, test, and document robust APIs, ready for deployment, and you will have the skills and knowledge needed to build and deploy a comprehensive book search project, leveraging modern tools and technologies to create a powerful and efficient application.
Learning objectives
Build a RESTful API using the latest version of Java and the Spring Boot framework, enabling full-text search capabilities on book data.
Design and implement a PostgreSQL database schema to store and efficiently query book data, leveraging full-text search functionality.
Ingest and validate book data from a public archive into a PostgreSQL database, ensuring data integrity and accuracy.
Utilize Docker to containerize the PostgreSQL database, enhancing the development and deployment process.
Test and document API endpoints using Postman or VS Code Extension and GitHub Copilot, ensuring robust and reliable API performance.
Learning objectives
Build a RESTful API using the latest version of Java and the Spring Boot framework, enabling full-text search capabilities on book data.
Design and implement a PostgreSQL database schema to store and efficiently query book data, leveraging full-text search functionality.
Ingest and validate book data from a public archive into a PostgreSQL database, ensuring data integrity and accuracy.
Utilize Docker to containerize the PostgreSQL database, enhancing the development and deployment process.
Test and document API endpoints using Postman or VS Code Extension and GitHub Copilot, ensuring robust and reliable API performance.
Skills covered
Github CopilotVersion ControlGitHubJavaWeb Development ToolsOracleGenerative AIArtificial Intelligence FoundationsSoftware Development ToolsProjectArtificial Intelligence (AI)Web DevelopmentProgramming LanguagesSoftware Development
Concepts
0. Introduction
- 01 - Modern Java development
- 02 - Course overview and objectives
- 03 - Prerequisites and learning goals
1. Setting Up Java, Maven, and Spring Boot
- 04 - Setting up Java
- 05 - Installing Maven
- 06 - Setting up a Maven project
- 07 - Setting up Visual Studio Code
- 08 - Introduction to the Spring Boot framework
- 09 - Creating a hello world API
2. Dockerizing the Project with PostgreSQL
- 10 - Setting up Docker
- 11 - Configuring PostgreSQL in Docker
3. Designing the Database Schema and Implementing Full-Text Search
- 12 - Designing the book schema
- 13 - Create a database schema in PostgreSQL
- 14 - Navigating the database using a web browser
- 15 - Introduction to full-text search
- 16 - Implementing full-text search in PostgreSQL
4. Ingesting and Validating Data
- 17 - Overview of data ingestion
- 18 - Automating data ingestion
- 19 - Validating data integrity
5. Implementing Business Logic and Writing Tests
- 20 - Introduction to business logic
- 21 - Developing business logic functions
- 22 - Writing unit tests
6. Designing and Creating APIs
- 23 - Developing the service layer
- 24 - Implementing the book search API
- 25 - Writing integration tests
Conclusion
- 26 - Conclusion