Asmait Ermias

Asmait Ermias

1612403640

Web Application for Task Management Tool

TaskAgile

Open source task management tool built with Vue.js 2.4.2, Spring Boot 2, and MySQL 5.7+

Development environment

Back-end

  • Spring-boot v2.0.4.RELEASE
  • MySQL 5.7+

Front-end

  • node v10.23.1
  • Vue.js 2 + vue / cli v4.5.11
  • The environment setting part has too many contents and is organized in a separate document.

Creating a back-end framework with Spring Initializer

git

  1. First, log on to github.com and create a new repository with New Repository.
  • Repository name: skyweb.vuejs.spring-boot.mysql
  • set to public
  1. Right-click the project folder and run git bash with git bash here. When a bash window is created, execute the following command to save it to the repository.
  1. After the initial push, you can process as follows in the source control tab of vsc, not git bash or github Destop
  • add stage
  • commit: comment input possible
  • push: The first push was authenticated, but the second push can be pushed without authentication.

Local development

Create src/main/resources/application-dev.properties with the following settings to override the settings in application.properties.

spring.datasource.url=jdbc:mysql://localhost:3306/task_agile?useSSL=false
spring.datasource.username=<your username>
spring.datasource.password=<your password>

In the case of windows, the following items need to be added to the system environment variable to set the active profile to application-dev.properties spring_profiles_active: For dev unix/rinux, write export spring_profiles_active=dev to the bash profile

Commands

  • Use mvn install to build both the front-end and the back-end
  • Use mvn test to run the tests of the back-end and the front-end
  • Use mvn spring-boot:run to start the back-end
  • Use npm run serve inside the front-end directory to start the front-end
  • Use java -jar target/app-0.0.1-SNAPSHOT.jar to start the bundled application

Troubleshooting

  • When creating with Spring Initializer, an error occurred when creating with java 11 => When I changed the Java Version to 8 in the pom.xml, I saw that it runs normally.

  • java.sql.SQLException: The server time zone value ‘占쏙옙占싼민깍옙 표占쌔쏙옙’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specific time zone value if you want to utilize time zone support. => mysql용 database 연결 정보에 serverTimezone=UTC 를 아래와 같이 추가한다. spring.datasource.url=jdbc:mysql://localhost:3306/task_agile?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC


Creating a front-end framework with Vue-Cli

Development environment

The version of the development tool is as follows. node v10.23.1 + vue/cli v4.5.11

  • If the node and vue/cli versions are too different, it becomes a problem. In particular, in the case of nightwatch for e2e testing, it is linked with webdriver and chromedriver is linked with the latest Chrome browser, so chromedriver should also be used up to date. This is because the Chrome browser automatically updates. In other words, in order to test e2e with the Chrome browser, the Chrome browser version is the standard, and the versions of the rest of the development tools are combined.

And during development, the Chrome browser should disable automatic updates. If possible, it is a good idea to configure the development environment on the virtual PC.

Installation instruction

vue-cli install npm install -g @vue/cli

Creating a front-end skeleton in the front-end folder with vue-cli In the installation option, when installing sass, I was worried between dart-Sasss and node-Sass, but I chose ode-Sass. I looked up and found that dart-Sass has more strength in cross-platform, but it is said that node-Sass is more used these days in the swordsaw process. Because it develops so rapidly anyway, it seems better to follow the trend.

vue create front-end

Run front-end APP

npm run serve in front-end folder

Commands

  • npm run serve : front-end App execute
  • npm run build : front-end App build
  • npm run test:unit : front-end App unit test
  • npm run test:e2e : front-end App e2e test
  • npm run lint : front-end App lint
  • npm run test : front-end App unit and e2e test" npm run test는 npm test로 실행가능

test(unit/e23 test)

above sea level test

Troubleshooting

Phenomenon 1: In the state of node version 8.12.0, npm version 6.4.1, a front-end skeleton was created with vue-cli, but an error occurred in the chromdriver plugin. err! Failed at the chromedriver@87.0.5 install script handling: The same error occurs even if the npm version is upgraded.I tried alternating the sass version with dart-saas and node-sass, but the same error. Among other logs, the plugin requires node 10 or higher. There is also a message saying that chromdriver is the latest, but the node version is too old to cause an error => Install nvm that can manage multiple node versions while completely deleting and reinstalling the existing node 8.12.0 and then node Install the highest version of 10, 10.23.1 => Yarn installation => After vue/cli installation, vue create front-end is executed to complete the installation successfully.

Phenomenon 2: As the version of nightwatch goes up, I am concerned that there will be a problem because the version is different when writing the test code, so when I set the node version to 8.12 and vue/cli to 3.0.1 according to the sample example in the book, a chromedriver error occurred in e2e test In the middle, I left node 10.23.1 on the sample front-end of the existing book and ran only vue/cli by downgrading to 3.0.1 and running it, a unit test error occurred. Report, delete package-lock.json and reinstall, the error disappears

Action: The e2e test error is caused by chromedriver. Node 8.12 and nitchwatch, chromdriver, and chrome browsers are connected, and chromedrvier, which is crucially matched with node 8.12, does not match the latest version of chrome browser. The method is the version of the chrome browser. It is downgrading to 74, but it is a burden because it is the main browser. Another method is to use safari. It is not a method of simply modifying the configuration file at the package.json or project root level, but the nightwatch and vue cli inside the node-module. -plugin-e2e-nightwatch-related settings are connected, so even if possible, it takes time to go through a cumbersome procedure such as taking a safari version, but it is dismissed because it is a problem in terms of reinstallation and simplicity. Eventually, the initial start was due to the possibility of future problems related to the e2e test.If you think about it again, the basic test processing mechanism will not change even if the version is upgraded. I thought it would be better to study nightwatch to solve the problem even if a problem occurs.

Conclusion: The node version, vue/cli version, and chromedriver version must match to some extent. If the nodel version is too old, there is a problem with the combination.


Connecting the back-end and front-end

Build with one command

  • Another reason for using maven to control npm is that Maven supports a variety of built-in phases that can be effectively utilized throughout the entire build life cycle, since the integrated build front end is placed in a subfolder of the backend.

  • Integrated build using the following plug-in in pom.xml Exec Maven Plugin: Execute npm command Maven Resource Plugin: Copy front-end resources Spring Boot Maven Plugin: Start and terminate Spring Boot App Maven Clean Plugin: Affect build Remove jul resources, ex) remove previously built resources

Integrated build execution

mvn install

Clean the existing build and build (recommended) mvn clean install

Important changes

While proceeding with the form and verification related content, a difference from the book was found because the spring boot version of the currently working app is 2.4.2, so it is better to solve the problem while proceeding to the latest version, which is the version of the existing sample example, 2.0.4. Although it is a direction, I decided that it would be better to implement it quickly than to waste time in the middle.

In the process of downgrading to 2.0.4, the following error occurred and I was wandering for a while.

spring-boot-starter-parent관련 모듈을 다운로드 하는 과정에서 발생한 오류  
Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:2.0.2 in central (https://repo.maven.apache.org/maven2) and 'parent.relativePath' points at no local POM @ line 19, column 10

The reason is that the version name was not accurately described as 2.0.4.RELEAASE. 2.0.4.RELEASE The previous 2.4.2 version was unexpected because there was no RELEASE behind it. (I ran it with the existing sample app and saw that it is downloaded normally and found it in the process of comparing pom.xml.) The error in TaskAgileApplicationTests.java is an error because the test package of the corresponding version is different.

troubleshooting

  • Error Resolutions 1 and 2 are errors that occur when using spring-boot-starter-parent 2.4.2 version.
  1. When creating a validation related test class, the following message is displayed stating that the javax.validation package could not be found The import javax.validation cannot be resolved

=> An error occurs when trying to use import javax.validation in spring 2.3 or higher.

In versions less than spring 2.3, Web-starter imported Validation-starter as follows, but spring boot -> web -> validation spring version 2.3 or higher does not import any more. When creating the initial project, you must set validation dependency or add dependency to pom.xml.

org.springframework.boot spring-boot-starter-validation

  1. Error because the package org.junit.before for using @Before in unit tests could not be found

=> Solve the dependency of junit in pom.xml as follows junit junit 4.12 test

Download Details:

Author: mir2lsky

Source Code: https://github.com/mir2lsky/skyweb.vuejs.spring-boot.mysql

#vue #vuejs #javascript

What is GEEK

Buddha Community

Web Application for Task Management Tool
Rahim Makhani

Rahim Makhani

1627274472

Develop An Unique Web App for your Firm

Web app represents the particular firm or organization for which it is developed. With the help of a web app, the firm owner can promote and increase their business by reaching more and more customers for their website or web app.

Every firm or organization must have its own web app to represent their company, what they do, what they provide users feedback, and a lot more. If you have your web app then users can know your company deeply and they can also show interest in your company.

To develop a unique web app contact Nevina Infotech that is the best web application development services provider company, that can help you to develop the web app for your firm as per your requirement.

#web application development company #web application development services #web app development company #custom web application development company #web app development services #web application development agency

Rahim Makhani

Rahim Makhani

1626154510

Get the best web app that can fulfil your business needs

A web app is a type of app that can help you to represent your business. A web app is everything you need for your company’s growth because you can promote your business with its help. With its use, you can show the customers what products you have and come to know about your firm.

You can hire Nevina Infotech to develop your web app for your business. We are the most famous company for developing web apps because we also provide web application development services. We have a great team to work with to build your web app.

#web application development company #web application development services #web app development company #custom web application development company #web app development services #web application development agency

Rahim Makhani

Rahim Makhani

1621483980

Get the best web app for your Business FUTURE

The web app is application software that runs on the webserver. You can easily use the web app by searching it in the web browser through Google or any other search engine, or you can also add shortcuts of the web app to your smartphone.

Web app for your business helps you to reach new customers and enables them to know about your firm and the services you provide and can know about your organization’s feedback and rating. It can also help you with the advertisement of your app among all.

Do you want to develop a web app for your business? Then it would help if you collaborated with Nevina Infotech, which is the best web application development company that will help you develop a unique web app with the help of its dedicated developers.

#web application development company #web application development services #web app development company #custom web application development company #web app development services #custom web application development services

Rahim Makhani

Rahim Makhani

1626238039

Find the best web app development company for your Startup

A web app is the best way to promote their business for startups. You can’t verbally go and tell everyone to visit your company, but your website or web app can do that. A web app can represent your company, and the visitors who are visiting your website or web app will get knowledge about your firm. Doing this can help you to increase your customer rate.

Nevina Infotech is the best web app development company to choose for developing your web app for your startup. We have a great team of web developers to work with. Our developers are dedicated and enthusiastic in their work.

#web application development company #web application development services #web app development company #custom web application development company #web app development services #custom web application development services

Joseph  Murray

Joseph Murray

1623302550

Top 5 Java Web Application Technologies You Should Master in 2021

Web Development in Java

Java is a commonly used language for web development, especially on the server-side. Java web applications are distributed applications that run on the internet. Web development with Java allows us to create dynamic web pages where users can interact with the interface.

There are various ways through which you can create dynamic web pages in Java. The Java EE (Enterprise Edition) platform provides various Java technologies for web development to developers. Services like distributed computing, web services, etc. are provided by Java EE. Applications can be developed in Java without using any additional scripting language. Let us see how web applications are made via Java.

**Java Web Application **

Java Web Application Technologies

#software development #java #java web applications #web applications #java web application technologies #top 5 java web application technologies you should master