Intro to Database App Dev w/Spring Boot, Angular, Postgres

Description

Learn to develop enterprise applications with a relational database back end, a Java Spring Boot webservice middle tier and an Angular/Typescript client user interface app.

This introductory course demonstrates building out a complete 3-tier application operating upon one single database table; then designing and building an increasingly sophisticated schema of tables and views for a demo Aviation scheduling app.

 

Telegram Group Join Now
WhatsApp Group Join Now

Future advanced courses based on this one will flesh out the webservice and client UI apps to operate upon all of the tables in the demo app schema and navigate their relationships: Identifying and non-identifying foreign keys; One-to-many (1:M) and Many-to-Many (M:N) relationships; associative/cross-reference entities; set-based business rules.

This course assumes some basic knowledge of Java, HTML and SQL but will take you from Zero on Spring Boot, Maven, Angular/Typescript, ER/Studio and PostgreSQL.

The course is evolved from my 2012 book “Java Web Database Application Development” and is based on nearly 30 years of real-world, hands-on professional experience. It is the course I WISH I could have taken when I needed to learn this stuff.

TOPICS INCLUDE:

Demo App: “FBOAce” Aviation Scheduling System

Spring Boot

Spring Boot 101 / Hello World

Maven 101

H2 In-memory database

Java Persistence API (JPA)

Data Model Entity Beans, a.k.a. Data Transfer Objects and JPA Annotations

Webservice architecture: Components (Controllers, Services, Repositories)

Inversion of Control, Dependency Injection, Autowiring

JSON

Postman

Exception Handling

Input validation

Client UI HTML independent of technology

Angular/Typescript:

Angular 101 / Hello World

Node, npm, Angular cli

ng serve

Modules and components

Essential Angular directories, files and/or components:
src/main.ts, src/index.html, src/app/app-module.ts, src/app/app.component.ts/html/css

Typescript imports, @NgModule, export class, @Component decorator…

Calling webservices with HttpClient

Strict Mode

Reading Configuration Parameters (from json file)

Data Types, Modifiers and Scope

constructor() and injection

Class Methods

ngOnInit() and other Lifecycle methods

Typescript Data Types (most common): Primitives, Arrays, Objects (instances of Classes or Interfaces), any and unknown, Enums

Explict vs. Implicit Declarations

async, await() and Promise

Data binding: 1-way, 2-way

Structural Directives: *ngIf (boolean), *ngFor (loop)

Routing: , ActivatedRoute, the routerLink Directive

String interpolation

Property Binding

Event Binding

The Home component and application components

Listing instances of business entities / database records

Template-based forms: Editing and submitting instances of business entities

Observables

Asynchronous programing

Promises and Observable.toPromise()

Local References

PostGreSQL 101

Installation

Using PgAdmin to navigate databases, schemas, tables, views and more

Using psql (command-line tool)

Application data queries and metadata queries

CasE sEnsiTIVity in PostGreSQL

Executing DDL to create schema objects

PostgreSQL PL/pgSQL Programming: Trigger functions and triggers that call the functions

“Instead-of” triggers on API Views

Relational Database Design, Theory and Practice

Schema Design (for complete/advanced demo app) and SQL DDL (data definition language statements)

Logical and Physical Data Models

ER Studio Demo

Attributes/Columns

Primary keys, alternate unique indexes

Identifying and non-identifying relationships/foreign keys

One-to-many (1:M) and Many-to-Many (M:N) relationships; Associative/cross-reference entities

Multiple relationships between/among the same entities

“Super” unique keys

SQL data types

Set-based business rule facilitation and enforcement

Database (API) views and the “driving” table

And more!

We will be happy to hear your thoughts

      Leave a reply

      Freewebcart
      Logo