diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 00000000..27456eda
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,108 @@
+name: akworld-hprofile
+on: [push, workflow_dispatch]
+env:
+ AWS_REGION: us-east-1
+ ECS_REPOSITORY: hprofile
+ ECS_CLUSTER: hprofile-new
+ ECS_SERVICE: akworld-hprofile
+ ECS_TASK_DEFINITION: aws-files/taskdeffile.json
+ CONTAINER_NAME: hprofile-new01
+jobs:
+ Testing:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Code Checkout
+ uses: actions/checkout@v4
+ - name: maven test
+ run: mvn test
+ - name: Checkstyle
+ run: mvn checkstyle:checkstyle
+
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ # Run sonar-scanner with
+ - name: Setup SonarQube
+ uses: warchant/setup-sonar-scanner@v7
+ # Run sonar-scanner
+ - name: SonarQube Scan
+ run: sonar-scanner
+ -Dsonar.host.url=${{ secrets.SONAR_URL }}
+ -Dsonar.login=${{ secrets.SONAR_TOKEN }}
+ -Dsonar.organization=${{ secrets.SONAR_ORGANIZATION }}
+ -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }}
+ -Dsonar.sources=src/
+ -Dsonar.junit.reportsPath=target/surefire-reports/
+ -Dsonar.jacoco.reportsPath=target/jacoco.exec
+ -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml
+ -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/
+
+ - name: SonarQube Quality Gate check
+ id: sonarqube-quality-gate-check
+ uses: sonarsource/sonarqube-quality-gate-action@master
+ #Force to fail step after specific time
+ timeout-minutes: 5
+ env:
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ SONAR_HOST_URL: ${{ secrets.SONAR_URL }} #OPTIONAL
+
+ BUILD_AND_PUBLISH:
+ needs: Testing
+ runs-on: ubuntu-latest
+ steps:
+ - name: Code checkout
+ uses: actions/checkout@v4
+ - name: Update application.properties file
+ run: |
+ sed -i "s/^jdbc.username.*$/jdbc.username\=${{ secrets.RDS_USER }}/" src/main/resources/application.properties
+ sed -i "s/^jdbc.password.*$/jdbc.password\=${{ secrets.RDS_PASS }}/" src/main/resources/application.properties
+ sed -i "s/db01/${{ secrets.RDS_ENDPOINT }}/" src/main/resources/application.properties
+
+ - name: Build & Upload image to ECR
+ uses: appleboy/docker-ecr-action@master
+ with:
+ access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ registry: ${{ secrets.REGISTRY }}
+ repo: hprofile
+ region: ${{ env.AWS_REGION }}
+ tags: latest,${{ github.run_number }}
+ daemon_off: false
+ dockerfile: ./Dockerfile
+ context: .
+
+
+ Deploy:
+ needs: BUILD_AND_PUBLISH
+ runs-on: ubuntu-latest
+ steps:
+ - name: Code checkout
+ uses: actions/checkout@v4
+ - name: Configure AWS credentials
+ uses: aws-actions/configure-aws-credentials@v1
+ with:
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ aws-region: us-east-1
+
+ - name: Fill in the new image ID in the Amazon ECS task definition
+ id: task-def
+ uses: aws-actions/amazon-ecs-render-task-definition@v1
+ with:
+ task-definition: ${{ env.ECS_TASK_DEFINITION }}
+ container-name: ${{ env.CONTAINER_NAME }}
+ image: ${{ secrets.REGISTRY }}/${{ env.ECS_REPOSITORY }}:${{ github.run_number }} # secrets.REGISTRY= ECR url we alreday store registery
+
+ # Usage of the Task Definition file
+ - name: Deploy Amazon ECS task definition
+ uses: aws-actions/amazon-ecs-deploy-task-definition@v1
+ with:
+ task-definition: ${{ steps.task-def.outputs.task-definition }}
+ service: ${{ env.ECS_SERVICE }}
+ cluster: ${{ env.ECS_CLUSTER }}
+ wait-for-service-stability: true
+
+
+
+
diff --git a/Dockerfile b/Dockerfile
index 267c0571..24b0653b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,7 +2,7 @@ FROM openjdk:11 AS BUILD_IMAGE
RUN apt update && apt install maven -y
COPY ./ vprofile-project
RUN cd vprofile-project && mvn install
-
+#test
FROM tomcat:9-jre11
LABEL "Project"="Vprofile"
LABEL "Author"="Imran"
diff --git a/aws-files/taskdeffile.json b/aws-files/taskdeffile.json
index a0fcaedd..09754705 100644
--- a/aws-files/taskdeffile.json
+++ b/aws-files/taskdeffile.json
@@ -1,13 +1,13 @@
{
- "family": "vproappstagetask",
+ "taskDefinitionArn": "arn:aws:ecs:us-east-1:810351934067:task-definition/hprofile-new01:1",
"containerDefinitions": [
{
- "name": "vproapp",
- "image": "716657688884.dkr.ecr.us-east-2.amazonaws.com/actapp:latest",
+ "name": "hprofile-new01",
+ "image": "810351934067.dkr.ecr.us-east-1.amazonaws.com/hprofile",
"cpu": 0,
"portMappings": [
{
- "name": "vproapp-8080-tcp",
+ "name": "hprofile-new01-8080-tcp",
"containerPort": 8080,
"hostPort": 8080,
"protocol": "tcp",
@@ -23,30 +23,68 @@
"logConfiguration": {
"logDriver": "awslogs",
"options": {
+ "awslogs-group": "/ecs/hprofile-new01",
+ "mode": "non-blocking",
"awslogs-create-group": "true",
- "awslogs-group": "/ecs/vproappstagetask",
- "awslogs-region": "us-east-2",
+ "max-buffer-size": "25m",
+ "awslogs-region": "us-east-1",
"awslogs-stream-prefix": "ecs"
},
"secretOptions": []
- }
+ },
+ "systemControls": []
}
],
- "executionRoleArn": "arn:aws:iam::716657688884:role/ecsTaskExecutionRole",
+ "family": "hprofile-new01",
+ "executionRoleArn": "arn:aws:iam::810351934067:role/ecsTaskExecutionRole",
"networkMode": "awsvpc",
+ "revision": 1,
+ "volumes": [],
+ "status": "ACTIVE",
+ "requiresAttributes": [
+ {
+ "name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
+ },
+ {
+ "name": "ecs.capability.execution-role-awslogs"
+ },
+ {
+ "name": "com.amazonaws.ecs.capability.ecr-auth"
+ },
+ {
+ "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
+ },
+ {
+ "name": "com.amazonaws.ecs.capability.docker-remote-api.1.28"
+ },
+ {
+ "name": "ecs.capability.execution-role-ecr-pull"
+ },
+ {
+ "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
+ },
+ {
+ "name": "ecs.capability.task-eni"
+ },
+ {
+ "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29"
+ }
+ ],
+ "placementConstraints": [],
+ "compatibilities": [
+ "EC2",
+ "FARGATE"
+ ],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "1024",
- "memory": "2048",
+ "memory": "3072",
"runtimePlatform": {
"cpuArchitecture": "X86_64",
"operatingSystemFamily": "LINUX"
},
- "tags": [
- {
- "key": "Name",
- "value": "vprofileappstagtaskdef"
- }
- ]
+ "registeredAt": "2025-05-06T14:43:31.872Z",
+ "registeredBy": "arn:aws:iam::810351934067:root",
+ "tags": []
}
\ No newline at end of file
diff --git a/files/context.xml b/files/context.xml
index 15000d0d..4d5c523a 100644
--- a/files/context.xml
+++ b/files/context.xml
@@ -22,3 +22,5 @@
-->
+
+
diff --git a/target/classes/accountsdb.sql b/target/classes/accountsdb.sql
new file mode 100644
index 00000000..d224d810
--- /dev/null
+++ b/target/classes/accountsdb.sql
@@ -0,0 +1,104 @@
+-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64)
+--
+-- Host: localhost Database: accounts
+-- ------------------------------------------------------
+-- Server version 5.7.18-0ubuntu0.16.10.1
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `role`
+--
+
+DROP TABLE IF EXISTS `role`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `role` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `role`
+--
+
+LOCK TABLES `role` WRITE;
+/*!40000 ALTER TABLE `role` DISABLE KEYS */;
+INSERT INTO `role` VALUES (1,'ROLE_USER');
+/*!40000 ALTER TABLE `role` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user`
+--
+
+DROP TABLE IF EXISTS `user`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `username` varchar(255) DEFAULT NULL,
+ `userEmail` varchar(255) DEFAULT NULL,
+ `password` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user`
+--
+
+LOCK TABLES `user` WRITE;
+/*!40000 ALTER TABLE `user` DISABLE KEYS */;
+INSERT INTO `user` VALUES (4,'admin_vp','admin@visualpathit.com','$2a$11$DSEIKJNrgPjG.iCYUwErvOkREtC67mqzQ.ogkZbc/KOW1OPOpZfY6');
+/*!40000 ALTER TABLE `user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user_role`
+--
+
+DROP TABLE IF EXISTS `user_role`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user_role` (
+ `user_id` int(11) NOT NULL,
+ `role_id` int(11) NOT NULL,
+ PRIMARY KEY (`user_id`,`role_id`),
+ KEY `fk_user_role_roleid_idx` (`role_id`),
+ CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user_role`
+--
+
+LOCK TABLES `user_role` WRITE;
+/*!40000 ALTER TABLE `user_role` DISABLE KEYS */;
+INSERT INTO `user_role` VALUES (4,1);
+/*!40000 ALTER TABLE `user_role` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2017-08-28 10:50:51
diff --git a/target/classes/application.properties b/target/classes/application.properties
new file mode 100644
index 00000000..c04343d7
--- /dev/null
+++ b/target/classes/application.properties
@@ -0,0 +1,25 @@
+#JDBC Configutation for Database Connection
+jdbc.driverClassName=com.mysql.jdbc.Driver
+jdbc.url=jdbc:mysql://db01:3306/accounts?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
+jdbc.username=admin
+jdbc.password=admin123
+
+#Memcached Configuration For Active and StandBy Host
+#For Active Host
+memcached.active.host=mc01
+memcached.active.port=11211
+#For StandBy Host
+memcached.standBy.host=127.0.0.2
+memcached.standBy.port=11211
+
+#RabbitMq Configuration
+rabbitmq.address=rmq01
+rabbitmq.port=5672
+rabbitmq.username=test
+rabbitmq.password=test
+
+#Elasticesearch Configuration
+elasticsearch.host =192.168.1.85
+elasticsearch.port =9300
+elasticsearch.cluster=vprofile
+elasticsearch.node=vprofilenode
diff --git a/target/classes/com/visualpathit/account/beans/Components.class b/target/classes/com/visualpathit/account/beans/Components.class
new file mode 100644
index 00000000..5e3095d4
Binary files /dev/null and b/target/classes/com/visualpathit/account/beans/Components.class differ
diff --git a/target/classes/com/visualpathit/account/controller/ElasticSearchController.class b/target/classes/com/visualpathit/account/controller/ElasticSearchController.class
new file mode 100644
index 00000000..746f049a
Binary files /dev/null and b/target/classes/com/visualpathit/account/controller/ElasticSearchController.class differ
diff --git a/target/classes/com/visualpathit/account/controller/FileUploadController.class b/target/classes/com/visualpathit/account/controller/FileUploadController.class
new file mode 100644
index 00000000..b5eb23f8
Binary files /dev/null and b/target/classes/com/visualpathit/account/controller/FileUploadController.class differ
diff --git a/target/classes/com/visualpathit/account/controller/UserController.class b/target/classes/com/visualpathit/account/controller/UserController.class
new file mode 100644
index 00000000..89fecc43
Binary files /dev/null and b/target/classes/com/visualpathit/account/controller/UserController.class differ
diff --git a/target/classes/com/visualpathit/account/model/Role.class b/target/classes/com/visualpathit/account/model/Role.class
new file mode 100644
index 00000000..929351b9
Binary files /dev/null and b/target/classes/com/visualpathit/account/model/Role.class differ
diff --git a/target/classes/com/visualpathit/account/model/User.class b/target/classes/com/visualpathit/account/model/User.class
new file mode 100644
index 00000000..0e90c241
Binary files /dev/null and b/target/classes/com/visualpathit/account/model/User.class differ
diff --git a/target/classes/com/visualpathit/account/repository/RoleRepository.class b/target/classes/com/visualpathit/account/repository/RoleRepository.class
new file mode 100644
index 00000000..ea5943ff
Binary files /dev/null and b/target/classes/com/visualpathit/account/repository/RoleRepository.class differ
diff --git a/target/classes/com/visualpathit/account/repository/UserRepository.class b/target/classes/com/visualpathit/account/repository/UserRepository.class
new file mode 100644
index 00000000..e6e9ace0
Binary files /dev/null and b/target/classes/com/visualpathit/account/repository/UserRepository.class differ
diff --git a/target/classes/com/visualpathit/account/service/ConsumerService.class b/target/classes/com/visualpathit/account/service/ConsumerService.class
new file mode 100644
index 00000000..2efb215f
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/ConsumerService.class differ
diff --git a/target/classes/com/visualpathit/account/service/ConsumerServiceImpl.class b/target/classes/com/visualpathit/account/service/ConsumerServiceImpl.class
new file mode 100644
index 00000000..c10ffa84
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/ConsumerServiceImpl.class differ
diff --git a/target/classes/com/visualpathit/account/service/ProducerService.class b/target/classes/com/visualpathit/account/service/ProducerService.class
new file mode 100644
index 00000000..36065ad5
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/ProducerService.class differ
diff --git a/target/classes/com/visualpathit/account/service/ProducerServiceImpl.class b/target/classes/com/visualpathit/account/service/ProducerServiceImpl.class
new file mode 100644
index 00000000..cfe2c6f0
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/ProducerServiceImpl.class differ
diff --git a/target/classes/com/visualpathit/account/service/SecurityService.class b/target/classes/com/visualpathit/account/service/SecurityService.class
new file mode 100644
index 00000000..3dd66bfd
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/SecurityService.class differ
diff --git a/target/classes/com/visualpathit/account/service/SecurityServiceImpl.class b/target/classes/com/visualpathit/account/service/SecurityServiceImpl.class
new file mode 100644
index 00000000..5f624412
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/SecurityServiceImpl.class differ
diff --git a/target/classes/com/visualpathit/account/service/UserDetailsServiceImpl.class b/target/classes/com/visualpathit/account/service/UserDetailsServiceImpl.class
new file mode 100644
index 00000000..2b6dbe5b
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/UserDetailsServiceImpl.class differ
diff --git a/target/classes/com/visualpathit/account/service/UserService.class b/target/classes/com/visualpathit/account/service/UserService.class
new file mode 100644
index 00000000..35f247fa
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/UserService.class differ
diff --git a/target/classes/com/visualpathit/account/service/UserServiceImpl.class b/target/classes/com/visualpathit/account/service/UserServiceImpl.class
new file mode 100644
index 00000000..68c46379
Binary files /dev/null and b/target/classes/com/visualpathit/account/service/UserServiceImpl.class differ
diff --git a/target/classes/com/visualpathit/account/utils/ElasticsearchUtil.class b/target/classes/com/visualpathit/account/utils/ElasticsearchUtil.class
new file mode 100644
index 00000000..36805dc9
Binary files /dev/null and b/target/classes/com/visualpathit/account/utils/ElasticsearchUtil.class differ
diff --git a/target/classes/com/visualpathit/account/utils/MemcachedUtils.class b/target/classes/com/visualpathit/account/utils/MemcachedUtils.class
new file mode 100644
index 00000000..8b7738c2
Binary files /dev/null and b/target/classes/com/visualpathit/account/utils/MemcachedUtils.class differ
diff --git a/target/classes/com/visualpathit/account/utils/RabbitMqUtil.class b/target/classes/com/visualpathit/account/utils/RabbitMqUtil.class
new file mode 100644
index 00000000..5c144de0
Binary files /dev/null and b/target/classes/com/visualpathit/account/utils/RabbitMqUtil.class differ
diff --git a/target/classes/com/visualpathit/account/validator/UserValidator.class b/target/classes/com/visualpathit/account/validator/UserValidator.class
new file mode 100644
index 00000000..3bc9554b
Binary files /dev/null and b/target/classes/com/visualpathit/account/validator/UserValidator.class differ
diff --git a/target/classes/db_backup.sql b/target/classes/db_backup.sql
new file mode 100644
index 00000000..2f17a4df
--- /dev/null
+++ b/target/classes/db_backup.sql
@@ -0,0 +1,133 @@
+-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64)
+--
+-- Host: localhost Database: accounts
+-- ------------------------------------------------------
+-- Server version 5.7.18-0ubuntu0.16.10.1
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `role`
+--
+
+DROP TABLE IF EXISTS `role`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `role` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `role`
+--
+
+LOCK TABLES `role` WRITE;
+/*!40000 ALTER TABLE `role` DISABLE KEYS */;
+INSERT INTO `role` VALUES (1,'ROLE_USER');
+/*!40000 ALTER TABLE `role` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user`
+--
+
+DROP TABLE IF EXISTS `user`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `username` varchar(255) DEFAULT NULL,
+ `userEmail` varchar(255) DEFAULT NULL,
+ `profileImg` varchar(255) DEFAULT NULL,
+ `profileImgPath` varchar(255) DEFAULT NULL,
+ `dateOfBirth` varchar(255) DEFAULT NULL,
+ `fatherName` varchar(255) DEFAULT NULL,
+ `motherName` varchar(255) DEFAULT NULL,
+ `gender` varchar(255) DEFAULT NULL,
+ `maritalStatus` varchar(255) DEFAULT NULL,
+ `permanentAddress` varchar(255) DEFAULT NULL,
+ `tempAddress` varchar(255) DEFAULT NULL,
+ `primaryOccupation` varchar(255) DEFAULT NULL,
+ `secondaryOccupation` varchar(255) DEFAULT NULL,
+ `skills` varchar(255) DEFAULT NULL,
+ `phoneNumber` varchar(255) DEFAULT NULL,
+ `secondaryPhoneNumber` varchar(255) DEFAULT NULL,
+ `nationality` varchar(255) DEFAULT NULL,
+ `language` varchar(255) DEFAULT NULL,
+ `workingExperience` varchar(255) DEFAULT NULL,
+ `password` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user`
+--
+
+LOCK TABLES `user` WRITE;
+/*!40000 ALTER TABLE `user` DISABLE KEYS */;
+
+INSERT INTO `user` VALUES (7,'admin_vp','admin@hkhinfo.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$0a7VdTr4rfCQqtsvpng6GuJnzUmQ7gZiHXgzGPgm5hkRa3avXgBLK')
+,(8,'Abrar Nirban','abrar.nirban74@gmail.com',NULL,NULL,'27/01/2002','A nirban','T nirban','male','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','8888888888','8888888888','Indian','english','2 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAW'),
+(9,'Amayra Fatima','amayra@gmail.com',NULL,NULL,'20/06/1993','K','L','female','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','9999999999','9999999999','India','english','5','$2a$11$gwvsvUrFU.YirMM1Yb7NweFudLUM91AzH5BDFnhkNzfzpjG.FplYO'),
+(10,'Aron','aron.DSilva@gmail.com',NULL,NULL,'27/01/2002','M nirban','R nirban','male','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','7777777777','777777777','India','english','7','$2a$11$6oZEgfGGQAH23EaXLVZ2WOSKxcEJFnBSw2N2aghab0s2kcxSQwjhC'),
+(11,'Kiran Kumar','kiran@gmail.com',NULL,NULL,'8/12/1993','K K','RK','male','unMarried','SanFrancisco','James Street','Software Engineer','Software Engineer','Java HTML CSS ','1010101010','1010101010','India','english','10','$2a$11$EXwpna1MlFFlKW5ut1iVi.AoeIulkPPmcOHFO8pOoQt1IYU9COU0m'),
+(12,'Balbir Singh','balbir@gmail.com',NULL,NULL,'20/06/1993','balbir RK','balbir AK','male','unMarried','SanFrancisco','US','Software Engineer','Software Engineer','Java HTML CSS AWS','8888888111','8888888111','India','english','8','$2a$11$pzWNzzR.HUkHzz2zhAgqOeCl0WaTgY33NxxJ7n0l.rnEqjB9JO7vy'),
+(4,'Hibo Prince','hibo.prince@gmail.com',NULL,NULL,'6/09/2000','Abara','Queen','male','unMarried','Electronic City,UAE','Electronic City,UAE','Tester','Freelancing','Python PHP ','9146389863','9146389871','Indian','hindi','3 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAR'),
+(5,'Aejaaz Habeeb','aejaaz.habeeb@gmail.com',NULL,NULL,'16/02/2001','Imran','Ziya','male','unMarried','AbuDhabi,UAE','AbuDhabi,UAE','Developer','Developer','Azure Devops ','9566489863','9566489863','Indian','hindi','4 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAR'),
+(6,'Jackie','jackie.chan@gmail.com',NULL,NULL,'28/09/1992','Charles','Chan','male','Married','HongKong,China','HongKong,China','MartialArtist','MartialArtist','KungFu ','9246488863','9246488863','Chinese','Mandrian','1 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6RAR'),
+(13,'Srinath Goud','sgoud@gmail.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$6BSmYPrT8I8b9yHmx.uTRu/QxnQM2vhZYQa8mR33aReWA4WFihyGK');
+
+
+/*!40000 ALTER TABLE `user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user_role`
+--
+
+DROP TABLE IF EXISTS `user_role`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user_role` (
+ `user_id` int(11) NOT NULL,
+ `role_id` int(11) NOT NULL,
+ PRIMARY KEY (`user_id`,`role_id`),
+ KEY `fk_user_role_roleid_idx` (`role_id`),
+ CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user_role`
+--
+
+LOCK TABLES `user_role` WRITE;
+/*!40000 ALTER TABLE `user_role` DISABLE KEYS */;
+INSERT INTO `user_role` VALUES (4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1);
+/*!40000 ALTER TABLE `user_role` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2023-21-06 05:49:31
diff --git a/target/classes/logback.xml b/target/classes/logback.xml
new file mode 100644
index 00000000..35b81df4
--- /dev/null
+++ b/target/classes/logback.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+ %date{HH:mm:ss.SSS} [%thread] %-5level %logger{15}#%line %msg\n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/validation.properties b/target/classes/validation.properties
new file mode 100644
index 00000000..0453cdd3
--- /dev/null
+++ b/target/classes/validation.properties
@@ -0,0 +1,5 @@
+NotEmpty=This field is required.
+Size.userForm.username=Please use between 6 and 32 characters.
+Duplicate.userForm.username= User has already taken this Username.
+Size.userForm.password=Try one with at least 8 characters.
+Diff.userForm.passwordConfirm=These passwords don't match.
\ No newline at end of file
diff --git a/target/test-classes/com/visualpathit/account/controllerTest/SampleTest.class b/target/test-classes/com/visualpathit/account/controllerTest/SampleTest.class
new file mode 100644
index 00000000..00fd98a0
Binary files /dev/null and b/target/test-classes/com/visualpathit/account/controllerTest/SampleTest.class differ
diff --git a/target/test-classes/com/visualpathit/account/controllerTest/UserControllerTest.class b/target/test-classes/com/visualpathit/account/controllerTest/UserControllerTest.class
new file mode 100644
index 00000000..0fc89918
Binary files /dev/null and b/target/test-classes/com/visualpathit/account/controllerTest/UserControllerTest.class differ
diff --git a/target/test-classes/com/visualpathit/account/modelTest/RoleTest.class b/target/test-classes/com/visualpathit/account/modelTest/RoleTest.class
new file mode 100644
index 00000000..3851d4ff
Binary files /dev/null and b/target/test-classes/com/visualpathit/account/modelTest/RoleTest.class differ
diff --git a/target/test-classes/com/visualpathit/account/modelTest/UserTest.class b/target/test-classes/com/visualpathit/account/modelTest/UserTest.class
new file mode 100644
index 00000000..fc016694
Binary files /dev/null and b/target/test-classes/com/visualpathit/account/modelTest/UserTest.class differ
diff --git a/target/test-classes/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.class b/target/test-classes/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.class
new file mode 100644
index 00000000..74a52219
Binary files /dev/null and b/target/test-classes/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.class differ