Build basica Java Spring Boot Web App

Completed Posted 6 years ago Paid on delivery
Completed Paid on delivery

I need a Spring boot project, using latest stable version of all componentes.

Must implement mvc, hibernate, multitenancy, security (using a login form), and all connected to a MySQL database. Deliver and IntelliJ Idea project.

For Multitenancy, I need the single database, multiple schemas approach. So I need a master schema that has relation between an username and the schema associated with, and then each user will have his own unique schema, dynamically created after registration and selected after login.

There must be a master database (schema in MySql) that contains the user ID and the table schema the user is allowed to use. Then each user will have one schema associated with one or more tables.

There must be a register option. When the user registers, it will receive a confirmation email, and when the user clicks is taken to the web app to validate his account, and then create a unique schema for him and the corresponfing tables. This unique schema along with his username, will be stored in the master database.

The password stored in the database must be encrypted.

In the login form, there must be a validation to know if the user is allowed into the system or not, and then he can only use the schema associated with him. There must be also a "Remember Me" checkbox in the login form, so the user doesnt need to enter his details again to login, unless he clicks Logout.

For this project, we can use the following db structure

CREATE TABLE IF NOT EXISTS `user` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`firstName` varchar(255) DEFAULT NULL,

`lastName` varchar(255) DEFAULT NULL,

`password` varchar(255) DEFAULT NULL,

`username` varchar(255) DEFAULT NULL,

`accountType` varchar(255) DEFAULT NULL,

`billingAddress` varchar(255) DEFAULT NULL,

`mobilePhone` varchar(255) DEFAULT NULL,

`officePhone` varchar(255) DEFAULT NULL,

`email` varchar(255) DEFAULT NULL,

`description` varchar(255) DEFAULT NULL,

`notes` varchar(255) DEFAULT NULL,

`createadBy` bigint(20) DEFAULT NULL,

`modifiedBy` bigint(20) DEFAULT NULL,

`createdDate` datetime DEFAULT NULL,

`modifiedDate` datetime DEFAULT NULL,

`lastLoggedIn` datetime DEFAULT NULL,

'active'

PRIMARY KEY (`id`),

UNIQUE KEY `username` (`username`)

) ENGINE=InnoDB AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `role` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`role` int(11) DEFAULT NULL,

`userId` bigint(20) DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `FK3580769128426C` (`userId`)

) ENGINE=InnoDB AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `productGroup` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`groupName` varchar(255) NOT NULL,

`description` varchar(255) DEFAULT NULL,

`createadBy` bigint(20) DEFAULT NULL,

`modifiedBy` bigint(20) DEFAULT NULL,

`createdDate` datetime DEFAULT NULL,

`modifiedDate` datetime DEFAULT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `groupName` (`groupName`)

) ENGINE=InnoDB AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `product` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`productName` varchar(255) NOT NULL,

`description` varchar(255) DEFAULT NULL,

`productGroup` bigint(20) DEFAULT NULL,

`price` bigint(20) DEFAULT NULL,

`createadBy` bigint(20) DEFAULT NULL,

`modifiedBy` bigint(20) DEFAULT NULL,

`createdDate` datetime DEFAULT NULL,

`modifiedDate` datetime DEFAULT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `productname` (`productName`),

KEY `FKPRODGROUP` (`productGroup`),

CONSTRAINT `FKPRODGROUP` FOREIGN KEY (`productGroup`) REFERENCES `productGroup` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1;

For HTML forms, use Thymeleaf.

For testing purposes, implement a few controllers and views.

1. Add user (each user can add another user that can interact with his account, something like members of the same company that all will have access to the same account). Only an user with admin role can add other user to his account.

2. List/Delete users

3. Add/List/Delete Product

4. List Product

5. List/Edit Roles

Java Java Spring JSP MySQL

Project ID: #16102607

About the project

23 proposals Remote project Active 6 years ago

Awarded to:

damducthoai

Over 2 year with java technology, Have deep knowledge with Mysql, programming, JPA, Spring, EJB, I use Intellij as my main IDE, I also code angular with VS Code. I work with maven, npm.

€23 EUR in 1 day
(4 Reviews)
1.7

23 freelancers are bidding on average €134 for this job

wizard2015

Hi, I am experienced programmer and I can help you with crating such SpringBoot application. Please contact me if you are interested in cooperation. Relevant Skills and Experience Java, Spring Boot, Spring Data, Sprin More

€500 EUR in 10 days
(67 Reviews)
6.2
cleanCode

Hello, I have read all your requirements and I would like to work on your project. The quotation that I added is an hourly rate, not a fix price quotation Thanks, Alex Relevant Skills and Experience Spring/Java MyS More

€30 EUR in 60 days
(26 Reviews)
5.2
hongyuwang76

Experimented java developper, i worked in large companies for several years on web technologies. - Java 8, REST web services, various web applications - RabbitMq and Redis. - Persistence management with Hibernate / More

€333 EUR in 10 days
(3 Reviews)
2.8
nathanmkaya

A proposal has not yet been provided

€30 EUR in 1 day
(0 Reviews)
0.8
theventure334

we have best qualified team and our company we will work your project send me message then we will discuss...? Relevant Skills and Experience java,php,mysql,C#,.net,visual basic Proposed Milestones €34 EUR - java Bo More

€34 EUR in 5 days
(0 Reviews)
0.0
mukulpuspam0

A proposal has not yet been provided

€55 EUR in 5 days
(0 Reviews)
0.0
romangutkovich

I'm skilled Java Engineer with 3+ yr. experience. So from my point of view it's not very difficult task but it requires time, and the main business rule is time = money. Relevant Skills and Experience Java, JSP, MySQ More

€145 EUR in 3 days
(0 Reviews)
0.0
PrachiNMali

I have almost 4 years of professional experience in Java development with the below technologies. Java, Hibernate, Spring, Oracle, Web services, J2EE. Relevant Skills and Experience Java, Hibernate, Spring, Oracle, We More

€200 EUR in 10 days
(0 Reviews)
0.0
bigdatabear

I have 11 years of experience in developing various application in java,j2ee,spring mvc,spring-boot,hibernate. Relevant Skills and Experience Spring,Spring mvc,Sprint boot,Hibernate Proposed Milestones €30 EUR - Adv More

€100 EUR in 10 days
(0 Reviews)
0.0
bhavneetbodh2013

I can deliver this project in your specified time as my expertise in Java and related technologies is backed by a full decade of application development.

€23 EUR in 1 day
(0 Reviews)
0.0
nilesh30490

I have around 3 years of experience in spring boot application development. Currently using the spring boot framework to implement web based application.

€23 EUR in 1 day
(0 Reviews)
0.0