0% found this document useful (0 votes)
25 views8 pages

Durgesh Project

Uploaded by

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

Durgesh Project

Uploaded by

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

Prerequisite:

=============

#Core java (oops, package, exception, lambda, stream api etc)

#Basics of Spring Framework (Spring Core (DI), JPA and MVC)

#Spring Boot Basics

#Basics of MySQL Database

#STS IDE

------------------------------------------------------------------------------------------------------------------------------------

How to get maximum from this course?

====================================

Code with me............

------------------------------------------------------------------------------------------------------------------------------------

>>>>>>>>>>>>......

Rest Architecture (Client-Server Architecture):

#What is Client-Server Architecture?


#What is REST (Representational (Format) State (Data) Transfer (Transfer data between parties))?

# Ans:

It is software architectural style created by Roy Fielding in 2000 to guide the design of architecture
for the web.

------------------------------------------------------------------------------------------------------------------------------------

REST Guidelines (REST Architectural Constraints):

=======================================

#Client Server Architecture --- Both Client and Server should be independent

#Stateless --- Server should not store any request data

#Cacheable --- Response Data which is needed frequently, should be stored by client using cache

#Layered System --- Backend API Architecture should be layered (to achieve scalability and load
balancing)

#Uniform Interface --- Uniform Architecture, Client and Server interaction they should be in unified
way (we will be able to decouple and simplify architecture)

#Code on Demand (Optional) --- On Runtime client can download code from server and execute

------------------------------------------------------------------------------------------------------------------------------------

REST Concepts:

=============

# Resource

# Sub-resource

# URI (Uniform Resource Identifier)

# Http Methods

# Http Response Codes

1] Resource: Anything that we want to expose to outside world, through our application.

2] URI: URI is used to identify the resource.

3] Sub-resource: Student ->Laptops (Sub resource can’t exist without resource)

4] Http Request Methods: HTTP defines a set of request methods to indicate the desired action to
be performed for a given resource.
5] Http Response Codes: HTTP response status codes indicate whether a specific HTTP request has
been successfully completed
What we are going to build: Client Requirement

Client wants blogging application where he/she can write blogs and articles.

User can comment on the blogs/article.

We have to build simple Blogging Application:-

 User should create, update, delete and list posts.


 User should add, update, delete comments on posts.
 Categories the posts according to categories.
 New user should able to Register on our application.
 User should able to login to our application.
 Post include one picture too.

What we are going to build: Some technical terms.

 Proper Login and Register API.


 Posts API includes Pagination and Sorting.
 Proper user input validation handling.
 Proper exception handling.
 Role based authentication-role based security with apis.
 JWT based authentication.
 Document all rest apis so that consumer can easy understand.
 Deploy the backend application on any cloud platform.

What are the technologies and tools we are going use?

 Framework: Spring Boot Java Framework.


 Java 8+ (Language)
 Maven (Build Tool)
 STS (IDE)
 Apache Tomcat (Server)
 Spring core, Spring security (jwt), Spring data JPA (Hibernate) etc.
 MySQL Database.
 Postman Rest Client (API testing)
 Swagger (For Documentation)
 AWS-EC2 (Deploy)
Resources for Blogging Application

User

Category

Post (Most imp resource)

Comment

Note: We have to create API for managing above resources.


Best architecture while using Spring Boot for backend.

We are using Layered Architecture (Best Architecture type in our knowledge)


Software Installation:

How to install software for our project:

Java 8+

MySQL

Spring Tool Suite

How database structure will look for our project:

https://drive.google.com/file/d/1oVfb0Nk8Ma86O33FYFdM3s-SxT2P-t0Q/view?usp=sharing

You might also like