0% found this document useful (0 votes)
3 views56 pages

week_1

The document outlines the course structure for Advanced Application Development (CSE-214) at Akdeniz University, including topics such as Angular, Spring Boot, and project requirements. It details the course schedule, grading criteria, prerequisites, and key concepts related to front-end and back-end development. Additionally, it highlights the integration of Angular and Spring Boot for full-stack development, emphasizing the importance of REST APIs and security.

Uploaded by

berkc766
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views56 pages

week_1

The document outlines the course structure for Advanced Application Development (CSE-214) at Akdeniz University, including topics such as Angular, Spring Boot, and project requirements. It details the course schedule, grading criteria, prerequisites, and key concepts related to front-end and back-end development. Additionally, it highlights the integration of Angular and Spring Boot for full-stack development, emphasizing the importance of REST APIs and security.

Uploaded by

berkc766
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Advanced Application

Development
(CSE-214)
week-1 : Introduction

Dr. Alper ÖZCAN


Akdeniz University
alper.ozcan@gmail.com

1
Course Schedule
◼ Introduction (February 11)
◼ Angular – Typescript (February 18)
◼ Angular Application Architecture(February 25)
◼ Data binding, Routing(March 4)
◼ Angular forms, RxJS (March 11)
◼ Introduction to SpringBoot (March 18)
◼ Spring Core (March 25)
◼ Hibernate / JPA (April 1)
◼ Midterm (April 8)
◼ Rest / CRUD (April 15)
◼ Spring MVC (April 22)
◼ JPA / Hibernate Advanced Mappings (April 29)
◼ Project Presentations (Due on May 6)
◼ Project Presentations (Due on May 13)
◼ Final examination review (May 20)

2
Grading

◼ Midterm (15%)
◼ Lab (20 %) (Coding will be held on lab)
◼ Project (25%) – Angular + SpringBoot
◼ Proposal, final report, github repo
◼ Each project team should consist of 2 students
◼ Final (40%)

3
Prerequisites
◼ Background in
◼ Programming

◼ Programming:
◼ Angular - Typescript

◼ SpringBoot - Java

◼ VsCode , IntelliJ

4
Text Books - Angular

5
Text Books - SpringBoot

6
What’s this course about
◼ Front-End (Angular)
◼ Data Binding: Effective data exchange between templates and

components.
◼ Component Lifecycle Hooks: Lifecycle management for

Angular components.
◼ Routing: Efficient navigation between application views.

◼ Angular Forms: Form handling and validation.

◼ Dependency Injection: Modular and testable architecture.

◼ RxJS: Reactive programming for asynchronous operations.

7
What’s this course about
◼ Back-End (Spring Boot)
◼ Hibernate/JPA: Data persistence and ORM (Object-Relational

Mapping).
◼ REST API Development: Secure and scalable APIs for CRUD

operations.
◼ Spring MVC: Clear separation of concerns using Model-View-

Controller architecture.
◼ Advanced JPA Mappings: Efficient representation of complex

data relationships.
◼ Security: Authentication and authorization using Spring Boot

REST API Security.

8
Project

9
Project

10
Software Development Life Cycle

11
Artificial intelligence tools in the software
development life cycle

12
How Will AI Affect the Work of Developers?

13
How Will AI Affect the Work of Developers?

14
AI (LLM) based code generation (napkins)

https://www.napkins.dev/
15
AI (LLM) based code generation (bolt)

https://bolt.new/ 16
HTML, CSS, JS
HTML (Hypertext Markup Language) is
an essential building block of any
webpage. It describes the structure and
semantics (meaning) of content rather
than its appearance.

HTML contains few


predefined elements
or tags each of which
means differently for a
browser.

https://html-css-js.com/ 17
HTML, CSS, JS
Cascading Style Sheets which is known
as CSS is a style sheet language that
used to handle the presentation of the
web page containing HTML. It makes
our websites beautiful and modern
looking.

https://html-css-js.com/ 18
HTML, CSS, JS
JavaScript which is often known as JS,
is a high-level dynamic interpreted
programming language that allows
client-side scripting to create completely
dynamic web applications and websites.

https://html-css-js.com/ 19
Bootstrap

•Bootstrap is a free front-end


framework for faster and
easier web development
•Bootstrap includes HTML and
CSS based design templates
for forms, buttons, tables,
navigation, modals, image
carousels and many other, as
well as optional JavaScript
plugins
•Bootstrap also gives you the
ability to easily create
responsive designs

20
Responsive Design

Responsive Web
Design is about using
HTML and CSS to
automatically resize,
hide, shrink, or enlarge,
a website, to make it
look good on all
devices (desktops,
tablets, and phones)

21
What is a Single Page Application (SPA)?
A Single Page Application (SPA) dynamically updates the
content of the page as users interact with it, instead of
loading new pages from the server. This results in faster load
times and a more responsive, app-like user experience.

22
What is a Single Page Application (SPA)?
In single page web apps, once the page gets loaded, the server
does not send any more HTML or CSS. Whereas for the
traditional one, every time when new data is requested, the
whole page gets reloaded.

23
Advantages of Single Page Application

24
Model-View-Controller (MVC) Design
Pattern
Model: Manages the data, logic, and rules of the application.
View: Represents the user interface (UI) and displays data from the model.
Controller: Acts as a mediator between the Model and View, Handles user
interactions and updates the model or view

25
What is Angular?

Angular is a popular TypeScript-based front-end


framework developed by Google.

It allows developers to build Single Page Applications


(SPAs), which offer dynamic user experiences by updating
the content seamlessly without reloading the entire page.

Key features of Angular include data binding, routing,


dependency injection, and form handling.

26
Structure of Angular Components
Components are the building blocks of an Angular application. Each component
manages a specific part of the UI

•TypeScript class (.ts): Contains logic and data for the component.
•HTML template (.html): Defines the structure and layout of the view.
•CSS or SCSS (.css or .scss): Styles for the view.
•Metadata (@Component decorator): Provides component configuration

27
Angular application architecture

28
angular.json
The angular.json file is the main configuration file for an Angular project. It defines
various settings and configurations that are used by the Angular CLI (Command
Line Interface) to build, serve, and test the application.

Central configuration: The angular.json file configures how the Angular CLI
should behave (build, serve, test, etc.) for the entire project.

Project-specific settings: It holds project-specific settings for the apps or libraries


within the project.

Customizable build process: It allows developers to customize aspects of the


build, like optimization, file replacements, and file paths for assets and styles.

Multiple environments: Supports configuring different environments (like


development and production) by using file replacements and different build
settings.

29
Bootstrapping the AppModule (main.ts)

• Acts as the starting point (entry point) for the application lifecycle.

• This file is the bootstrap file of the Angular application. Angular uses main.ts to
load the Angular module and start the app.

• platformBrowserDynamic: Angular's function for bootstrapping applications in


the browser.

• AppModule: The root module of the application.

30
index.html

• This is the entry point for the application.

• When the app starts, the browser loads index.html. It contains the root
<app-root></app-root> element, AppComponent is rendered in the index.html file's
<app-root></app-root> element

• it includes references to the stylesheets and JavaScript files, including the bundled
Angular code. 31
Main Module (AppModule), app.module.ts

This file defines the root NgModule (Angular Module) of the application. It
tells Angular which components, directives, and services are part of the
app.
32
AppComponent (app.component.ts)

• This is the root component that is rendered inside <app-root></app-root> in


index.html.

• It is defined in app.component.ts, where the logic for the root component is


implemented.

• The AppComponent acts as the main component that interacts with other
components, binds data, and defines the application's structure.

• It is typically bootstrapped in app.module.ts under the bootstrap array.


33
Angular Files Execution Flow

34
Execution Flow
index.html is loaded first when the browser requests
the app. It includes a reference to the Angular
application and the root component (<app-root></app-
root>).
main.ts is executed next. It bootstraps the Angular
application by calling
platformBrowserDynamic().bootstrapModule(AppModul
e) to initialize the Angular module (AppModule).
app.module.ts is processed, and Angular sets up the
application module, registers components, imports
other necessary modules, and prepares the app for
rendering.
AppComponent is the root component declared in
app.module.ts, and Angular renders this component
inside the <app-root></app-root> element in index.html.

35
Relationships

• index.html references the root component <app-


root></app-root>.

• main.ts boots the AppModule, which then uses


AppComponent as the root component.

• AppModule imports and declares AppComponent, and


AppComponent becomes the starting point for the UI.

36
What is Spring Boot?
Spring Boot is a robust, production-ready Java-based back-
end framework that simplifies application development by
providing built-in configurations and features like REST APIs,
database integration with JPA/Hibernate, and security
services.

Its lightweight nature and modular architecture make it ideal for


building scalable, secure server-side applications.

37
Technical Design (Spring Boot)

38
Technical Design (Spring Boot)

39
Why Full-Stack Development?

You will learn how to integrate Angular and Spring Boot to


develop a complete e-commerce application.

The front-end Angular application will communicate with the


back-end Spring Boot application through REST APIs,
providing full CRUD operations and database management.

This architecture enables you to deliver a seamless, secure,


and scalable user experience.

40
Full-Stack Development

Building dynamic and responsive user interfaces with Angular

Managing back-end operations and databases using Spring


Boot

Establishing secure communication between front-end and


back-end services

Implementing key features like authentication, routing, and


reactive programming

41
VScode

42
Installing Java

43
Installing Java

44
Installing Java

45
Installing Maven

46
Installing Maven

C:\Program Files\apache-maven-3.9.6-bin

47
Installing Maven

48
Installing Maven

49
Installing Maven

50
Installing IntelliJ

51
Installing IntelliJ

52
Installing IntelliJ

53
Installing IntelliJ

54
Spring Initializer

55
Spring Initializer

56

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy