bf-java

Java Backend Development Course

Course Overview

This 12-week course introduces students to Java for backend development, emphasizing essential language concepts, database access with JPA, and building RESTful APIs using Spring Boot. By the end, students will be able to design, implement, and deploy a basic, full-featured backend service.

For the final project, students will integrate all their learnings to build a Book Management System with authentication, database integration, and deployment on a cloud platform.


Week 1: Java Basics & OOP

Week 1 Task

Create a simple Java program that demonstrates basic OOP principles (e.g., a small library system with books and authors).


Week 2: Java Collections & Data Structures

Week 2 Task

Develop a program to manage a list of students using Java Collections, allowing basic CRUD operations.


Week 3: Exception Handling & File I/O

Week 3 Task

Create a program that reads student data from a file, processes it (e.g., adds grades), and writes the output to another file.


Week 4: Databases & JPA Basics

Week 4 Task

Build a simple Java console app to map entities to a database table using JPA (e.g., a Student entity stored in a database).


Week 5: CRUD Operations with JPA

Week 5 Task

Expand the previous app to include CRUD operations for managing database entities (e.g., adding, updating, or removing students).


Week 6: Maven & Project Setup

Week 6 Task

Set up a Maven-based Spring Boot project, adding dependencies for JPA and testing its functionality.


Week 7: Introduction to Spring Boot

Week 7 Task

Build a Spring Boot app with basic dependency injection and a simple REST controller.


Week 8: Building REST APIs with Spring Boot

Week 8 Task

Create a REST API for managing a simple resource like “Products” or “Books.”


Week 9: Spring Data JPA & Database Integration

Week 9 Task

Integrate a database with the REST API and add CRUD functionality for the resource managed in Week 8.


Week 10: Security, Testing, & Deployment

Week 10 Task

Secure the REST API with Spring Security and JWT, then deploy it to a cloud platform.


Weeks 11-12: Final Project

Project: Book Management System

Students will develop a Book Management System with the following features:

  1. User Authentication:
    • User registration and login using Spring Security and JWT.
    • API endpoints secured for authenticated users.
  2. Book Management API:
    • CRUD endpoints for managing books (title, author, isbn, publishedDate, genre).
    • Features like pagination and filtering.
  3. Database Integration:
    • Use Spring Data JPA for database operations.
    • Establish user-to-book relationships.
  4. Validation:
    • Validate input (e.g., required fields, valid ISBN).
  5. Testing:
    • Unit and integration tests for endpoints.
  6. Deployment:
    • Deploy the app on a cloud platform with production settings.