FSD Lab Manual
FSD Lab Manual
FULL STACK
DE VEL O PM EN T
20CS52I
V Semester
Computer Science
Certificate
Name : Sem: IV Semester
Register Number :
KALABURGI
This is certified that the above mentioned student has successfully carried out lab
practice sessions in the Full Stack Development – 20CS51I integrated course during the
Course Coordinator
Examiner Signature
1. _____________________
2. _____________________
List of Programs
SNo. Name of the programs Date of programs Page Remarks
no
Develop small retail application for
online shopping, Write the user stories
1.
for this application using jira project
management tool.
Write the user stories for building a
2. 100 bed hospital using jira Project
management tool.
Create a student resume to apply in a
3. company and upload it on git
repository and update it.
A student want to login his/her Online
Examnitaion Form. Create an Online
4.
Examination login Form and check
validation.
Write a SpringCore program and inject
5.
the object using MethodInjection.
Write a SpringCore program and inject
6. the object using ConstructionInjection
method.
Write a SpringCore program and inject
7. the object using setterInjection
method.
Write a SpringCore program and inject
8. the object using FieldInjection
method.
EPIC:
Develop small Retail application for online shopping
STORY :
1. Develop product search UI screen [description-gather product items, add in product
screen,create search facility for this screen]
2. Task
3. Find product items as provided by user
4. Develop product search service
5. Develop shopping CARD UI for selected product
6. Develop shopping CARD service
7. Develop searched product online order UI component
8. Develop searched product online order service
9. Develop searched product online payment UI components
BUG :
Shopping card screen not working properly
Issue while searching product in product search screen (description-issue fixed and unit testing
done please procced with QA testing)
OUTPUT :
EPIC:
Click on, Create Repository , name the repository (kctp) set for PUBLIC & add
[Link] file.
Create a file ([Link]) in (main branch repository(kctp)).
CLONING A REPOSITORY
Click on Code , copy that https link ,
Now open GIT BASH or download it from the browser
Type (cd ..) till you come to C:drive .
1: check git version (git --version)
2: git config --global [Link] “xyz”
3: git config --global [Link] xyz@[Link]
4: Now paste that https link
Git clone [Link]
5: ls, after typing this command ,your repository will be there, locally
6: cd (your repository name) ,now you will be in the main branch
[Link]:-
body {
background: linear-gradient(to right, #0f2027, #203a43,
#2c5364);
font-family: 'Poppins', sans-serif;
}
#form {
width: 300px;
margin: 20vh auto 0 auto;
padding: 20px;
background-color: whitesmoke;
border-radius: 4px;
font-size: 12px;
}
#form h1 {
color: #0f2027;
text-align: center;
}
#form button {
padding: 10px;
margin-top: 10px;
width: 100%;
color: white;
background-color: rgb(41, 57, 194);
border: none;
border-radius: 4px;
}
.input-control {
display: flex;
flex-direction: column;
}
.input-control input {
border: 2px solid #f0f0f0;
border-radius: 4px;
display: block;
font-size: 12px;
padding: 10px;
width: 100%;
}
.input-control input:focus {
outline: 0;
}
.[Link] input {
border-color: #09c372;
}
.[Link] input {
border-color: #ff3860;
}
.input-control .error {
color: #ff3860;
font-size: 9px;
height: 13px;
}
Js:-
const form = [Link]('form');
const username = [Link]('username');
const email = [Link]('email');
const password = [Link]('password');
const password2 = [Link]('password2');
[Link]('submit', e => {
[Link]();
validateInputs();
});
[Link] = message;
[Link]('error');
[Link]('success')
}
[Link] = '';
[Link]('success');
[Link]('error');
};
};
Output:-
5: Write a SpringCore program and inject the object
using MethodInjection.
1. Create a simple java maven project.
2. Maven dependency
Add spring and maven dependency in [Link].
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<groupId>[Link]</groupId>
<artifactId>SpringCoreXML_Ex1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<[Link]>11</[Link]>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
</dependencies>
</project>
package [Link];
public abstract class Student {
4. [Link]
Create [Link] in src/main/resources as
below.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="[Link]
xmlns:xsi="[Link]
xmlns:context="[Link]
xt"
xsi:schemaLocation="[Link]
beans
[Link]
[Link]
[Link]
[Link]
[Link] ">
</beans>
5. Create [Link]
Create a class named "[Link]"
in [Link] package.
package [Link];
import [Link];
import
[Link]
nContext;
import [Link];
public class MyMain {
<properties>
<[Link]>11</[Link]>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
</dependencies>
</project>
package [Link];
import [Link];
import [Link];
@Configuration
@ComponentScan("[Link]")
public class AppConfig {
package [Link];
import [Link];
import [Link];
@Component("sobj")
public class Student {
@Value("John")
public void setName(String name) {
[Link] = name;
}
package [Link];
import [Link];
import [Link];
@Component("aobj")
public class Address {
@Value("kalaburgi")
String city;
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Service
public class StudentService {
}
//Autowired Annotation is used for injecting the object
@Autowired
public StudentService(Student s, Address ad) {
[Link] = s;
[Link] = ad;
}
5. Create [Link]
Create a class named "[Link]"
in [Link] package.
package [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
public class MyMain {
<properties>
<[Link]>11</[Link]>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
</dependencies>
</project>
package [Link];
import [Link];
import [Link];
@Configuration
@ComponentScan("[Link]")
public class AppConfig {
package [Link];
import [Link];
import [Link];
@Component("sobj")
public class Student {
@Value("GEETHA")
public void setName(String name) {
[Link] = name;
}
}
package [Link];
import [Link];
import [Link];
@Component("aobj")
public class Address {
@Value("kalaburgi")
String city;
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Component
public class StudentService {
private Student s;
private Address ad;
5. Create [Link]
Create a class named "[Link]"
in [Link] package
package [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
<modelVersion>4.0.0</modelVersion>
<groupId>[Link]</groupId>
<artifactId>SpringCoreXML_Ex1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<[Link]>11</[Link]>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
</dependencies>
</project>
@Configuration
@ComponentScan("[Link]")
public class AppConfig {
import [Link];
import [Link];
@Component
public class Student {
@Value("106")
private int rollNo;
@Value("Ashweta")
private String name;
package [Link];
import [Link];
import [Link];
@Component
public class Address {
@Value("kalaburgi")
String city;
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Component
public class StudentService {
//injecting object by field Injection
@Autowired
private Student s;
@Autowired
private Address ad;
5. Create [Link]
Create a class named "[Link]"
in [Link] package
package [Link];
import [Link];
import
[Link]
ntext;
import [Link];
import [Link];
import [Link];
import
[Link]
on;
import [Link];
import [Link];
@SpringBootApplication
public class Application {
[Link]:-
[Link]:-
package [Link];
import
[Link];
import [Link];
import [Link];
@Component
public class Student {
@Value("101")
private int rollNo;
@Value("Geeta")
private String name;
@Autowired
private Address addr;
[Link]:-
package [Link];
import [Link];
import [Link];
@Component
public class Address {
@Value("Kalaburagi")
private String city;
}
[Link]:-
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
parent</artifactId>
<version>2.7.7</version>
<relativePath/> <!-- lookup parent from
repository -->
</parent>
<groupId>[Link]</groupId>
<artifactId>9GSpringBoot_FirstEx</artifactId>
<version>1.0</version>
<name>9GSpringBoot_FirstEx</name>
<description>Demo project for Spring
Boot</description>
<properties>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-
plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
OUTPUT:
10: Develop the data access layer of the employee
management application to perform the database
operations given below using spring data JPA.
import [Link];
import
[Link]
on;
@SpringBootApplication
public class Application {
[Link]:-
[Link]:-
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Entity
@Table(name="emptab")
public class Employee {
@Id
@GeneratedValue
private Integer empId;
@Column(length=30)
private String empName;
private Double empSal;
@Column(length=30)
private String empDept;
public Employee() {
}
public Employee(String empName, Double empSal, String
empDept) {
super();
[Link] = empName;
[Link] = empSal;
[Link] = empDept;
}
public Employee(Integer empId, String empName, Double
empSal, String empDept) {
super();
[Link] = empId;
[Link] = empName;
[Link] = empSal;
[Link] = empDept;
}
public Integer getEmpId() {
return empId;
}
public void setEmpId(Integer empId) {
[Link] = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
[Link] = empName;
}
public Double getEmpSal() {
return empSal;
}
public void setEmpSal(Double empSal) {
[Link] = empSal;
}
public String getEmpDept() {
return empDept;
}
public void setEmpDept(String empDept) {
[Link] = empDept;
}
@Override
public String toString() {
return "Employee [empId=" + empId + ", empName="
+ empName + ", empSal=" + empSal + ", empDept=" + empDept
+ "]";
}
[Link]:-
[Link]:-
package [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
@Repository
public interface EmployeeRepository extends
JpaRepository<Employee, Integer> {
//ReturnType findBy<VariableName>(<DataType>
<paramName>);
//SQL: select * from emptab where ename=?
List<Employee> findByEmpName(String empName);
List<Employee> findByOrderByEmpSalAsc();
}
[Link]:-
[Link]:-
package [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Component
public class EmployeeDataInsertRunner implements
CommandLineRunner{
@Autowired
private EmployeeRepository repo;
@Override
public void run(String... args) throws Exception {
// --- insert data ----
[Link](new
Employee("Kajol",10000.0,"Development"));
[Link](new
Employee("Sapana",4000.0,"Sales"));
[Link](new
Employee("Ashweta",5000.0,"Accounts"));
[Link](new
Employee("Rose",9000.0,"Development"));
[Link](new
Employee("Sneha",5000.0,"Testing"));
[Link](new
Employee("Sahithi",3000.0,"Sales"));
[Link](new
Employee("Jythoi",5000.0,"Marketing"));
[Link](new
Employee("Neha",10000.0,"Development"));
[Link](new
Employee("Rama",6500.0,"Marketing"));
[Link](new
Employee("Yamini",8000.0,"Development"));
}
[Link]:-
package [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Component
public class FindByTestRunner implements CommandLineRunner
{
@Autowired
private EmployeeRepository repo;
@Override
public void run(String... args) throws Exception {
List<Employee>
list1=[Link]("Sapana");
displayResult(list1);
[Link]("--------------------");
List<Employee> list2=[Link](5000.0);
displayResult(list2);
[Link]("--------------------");
List<Employee>
list3=[Link](9000.0);
displayResult(list3);
[Link]("--------------------");
List<Employee>
list4=[Link]();
displayResult(list4);
[Link]("--------------------");
}
Src/main/resources:-
[Link]:-
# Following are DataSource (Database Connection)
properties
[Link]-class-
name=[Link]
[Link]=jdbc:oracle:thin:@localhost:1521:XE
[Link]=system
[Link]=manager
[Link]:-
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
parent</artifactId>
<version>2.7.7</version>
<relativePath/> <!-- lookup parent from
repository -->
</parent>
<groupId>[Link]</groupId>
<artifactId>9JSpringBoot_DataJPA_findBy_Ex3</artifact
Id>
<version>1.0</version>
<name>9JSpringBoot_DataJPA_findBy_Ex3</name>
<description>Demo project for Spring
Boot</description>
<properties>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-data-
jpa</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-
plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
OUTPUT:
11: Create a springboot application and perfrom CURD
operations.
Src/main/java:-
[Link]:-
package [Link];
import [Link];
import
[Link]
on;
@SpringBootApplication
public class Application {
[Link]:-
[Link]:-
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Entity
@Table(name="emptab")
public class Employee {
@Id
@GeneratedValue
private Integer eid;
@Column(length=15)
private String ename;
@Column(length=24)
private String email;
[Link]:-
[Link]:-
package [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import
[Link];
import
[Link];
import [Link];
import [Link];
@Controller
public class EmployeeController {
@Autowired
private EmployeeService empService;
@GetMapping("/all")
public String showAllEmps(Model model) {
//call service to fetch data
List<Employee> list =
[Link]();
//send to UI
[Link]("employeeList", list);
return "EmpData";
}
@GetMapping("/delete")
public String removeEmp(@RequestParam Integer
eid,Model model){
//delete data based on Id
[Link](eid);
return "redirect:all";
}
return "EmployeeEdit";
}
[Link]:-
[Link]:-
package [Link];
import [Link];
import [Link];
public interface EmployeeRepository extends JpaRepository<Employee,
Integer>{
}
[Link]:-
[Link]:-
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
Src/main/resources:-
[Link]:-
[Link]=8088
# Following are DataSource (Database Connection)
properties
[Link]-class-
name=[Link]
[Link]=jdbc:oracle:thin:@localhost:1521:XE
[Link]=system
[Link]=manager
# MVC
[Link]=/WEB-INF/view/
[Link]=.jsp
src:-
main:-
webapp:-
WEB-INF:-
View:-
[Link]:-
<%@ page language="java" contentType="text/html;
charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib prefix="c"
uri="[Link] %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>WELCOME TO EMPLOYEE DATA PAGE!!</h3>
<table border="1">
<tr>
<th>ID</th>
<th>NAME</th>
<th>MAIL</th>
<th>SALARY</th>
<th>DEPT</th>
<th>LINK</th>
</tr>
<c:forEach items="${employeeList}" var="ob">
<tr>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>
<a
href="delete?eid=${[Link]}">DELETE</a> |
<a href="edit?eid=${[Link]}">EDIT</a>
</td>
</tr>
</c:forEach>
</table>
${message}
</body>
</html>
[Link]:-
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>EMPLOYEE EDIT PAGE</h3>
<form:form action="update" method="POST"
modelAttribute="employee">
<pre>
ID : <form:input path="eid" readonly="true"/>
NAME: <form:input path="ename"/>
MAIL: <form:input path="email"/>
SAL : <form:input path="esal"/>
DEPT: <form:select path="dept">
<form:option value="">-SELECT-</form:option>
<form:option value="CSE">CSE</form:option>
<form:option value="EC">EC</form:option>
<form:option value="CP">CP</form:option>
</form:select>
<input type="submit" value="Update"/>
</pre>
</form:form>
</body>
</html>
[Link]:-
[Link]:-
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
parent</artifactId>
<version>2.7.7</version>
<relativePath /> <!-- lookup parent from
repository -->
</parent>
<groupId>[Link]</groupId>
<artifactId>9LSpringBoot_SpringWebMVC_CRUD_Ex4</artif
actId>
<version>1.0</version>
<name>9LSpringBoot_SpringWebMVC_CRUD_Ex4</name>
<description>Demo project for Spring
Boot</description>
<properties>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-data-
jpa</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
web</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-
devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-
plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
OUTPUT:
12: Create a RESTcontroller class to insert employee
details and display them.
Src/main/java:-
[Link]:-
package [Link];
import [Link];
import
[Link]
on;
@SpringBootApplication
public class Application {
[Link]:-
[Link]:-
package [Link];
import [Link];
[Link]:-
[Link]:-
package [Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import
[Link];
import [Link];
@Controller
public class EmployeeController {
@GetMapping("/reg")
public String showRegForm(Model model) {
Employee e = new Employee();
[Link](889);
[Link]("Anny");
[Link]("Female");
[Link]("CSE");
[Link]("employee", e);
return "EmployeeReg";
}
@PostMapping("/save")
public String readData(@ModelAttribute Employee
employee,Model model) {
[Link]("emp",employee);
return "EmpData";
}
}
[Link].
Src/main/resource:-
[Link]:-
[Link]=8088
[Link]=/WEB-INF/view/
[Link]=.jsp
src:-
main:-
webapp:-
WEB-INF:-
View:-
[Link]:-
<%@ page language="java" contentType="text/html;
charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>WELCOME TO DATA PAGE!!: </h3>
<pre>
Employee Id :${[Link]}<br>
Employee Name :${[Link]}<br>
Employee Dept :${[Link]}<br>
</pre>
</body>
</html>
[Link]:-
<%@ page language="java" contentType="text/html;
charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib prefix="form"
uri="[Link] %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>WELCOME TO EMPLOYEE REGISTER PAGE</h3>
<form:form action="save" method="POST"
modelAttribute="employee">
<pre>
ID : <form:input path="empId"/>
NAME : <form:input path="empName"/>
SAL : <form:input path="empSal"/>
PWD : <form:password path="empPwd"/>
GEN :
<form:radiobutton path="empGen" value="Male"/> Male
<form:radiobutton path="empGen" value="Female"/>
Female
LANGS:
<form:checkbox path="empLang" value="ENGLISH"/>
ENGLISH
<form:checkbox path="empLang" value="HINDI"/> HINDI
<form:checkbox path="empLang" value="KANNADA"/>
KANNADA
</pre>
</form:form>
</body>
</html>
[Link]:-
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
parent</artifactId>
<version>2.7.7</version>
<relativePath /> <!-- lookup parent from
repository -->
</parent>
<groupId>[Link]</groupId>
<artifactId>9LSpringBoot_SpringWebMVC_SpringTag_Ex3</
artifactId>
<version>1.0</version>
<name>9LSpringBoot_SpringWebMVC_SpringTag_Ex3</name>
<description>Demo project for Spring
Boot</description>
<properties>
<[Link]>11</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
web</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-
test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-
plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
OUTPUT: