188 lines
7.1 KiB
Markdown
188 lines
7.1 KiB
Markdown
# sisvietnamvn
|
|
|
|
This application was generated using JHipster 9.1.0, you can find documentation and help at [https://www.jhipster.tech/documentation-archive/v9.1.0](https://www.jhipster.tech/documentation-archive/v9.1.0).
|
|
|
|
## Project Structure
|
|
|
|
Node is required for generation and recommended for development. `package.json` is always generated for a better development experience with prettier, commit hooks, scripts and so on.
|
|
|
|
In the project root, JHipster generates configuration files for tools like git, prettier, eslint, husky, and others that are well known and you can find references in the web.
|
|
|
|
`/src/*` structure follows default Java structure.
|
|
|
|
- `.yo-rc.json` - Yeoman configuration file
|
|
JHipster configuration is stored in this file at `generator-jhipster` key. You may find `generator-jhipster-*` for specific blueprints configuration.
|
|
- `.yo-resolve` (optional) - Yeoman conflict resolver
|
|
Allows to use a specific action when conflicts are found skipping prompts for files that matches a pattern. Each line should match `[pattern] [action]` with pattern been a [Minimatch](https://github.com/isaacs/minimatch#minimatch) pattern and action been one of skip (default if omitted) or force. Lines starting with `#` are considered comments and are ignored.
|
|
- `.jhipster/*.json` - JHipster entity configuration files
|
|
- `/src/main/docker` - Docker configurations for the application and services that the application depends on
|
|
|
|
## Database Configuration
|
|
|
|
### Development Database (H2 Console)
|
|
- **Profile**: `dev`
|
|
- **Database Type**: H2 (File-based, embedded)
|
|
- **JDBC URL**: `jdbc:h2:file:./build/h2db/db/sisvietnamvn`
|
|
- **Username**: `sisvietnamvn`
|
|
- **Password**: *(leave blank)*
|
|
- **Console Access**: [http://localhost:8080/h2-console](http://localhost:8080/h2-console) (requires app running in dev profile)
|
|
- **Config File**: [application-dev.yml](file:///d:/website_sisvietnam_moi/website_sisvietnam.vn/sisvietnamvn/src/main/resources/config/application-dev.yml)
|
|
|
|
### Production Database
|
|
- **Profile**: `prod`
|
|
- **Database Type**: Oracle Database
|
|
- **JDBC URL**: `jdbc:oracle:thin:@localhost:1521:xe`
|
|
- **Username**: `sisvietnamvn`
|
|
- **Config File**: [application-prod.yml](file:///d:/website_sisvietnam_moi/website_sisvietnam.vn/sisvietnamvn/src/main/resources/config/application-prod.yml)
|
|
|
|
### Schema Management
|
|
- **Tool**: Liquibase
|
|
- **Changelog Folder**: [src/main/resources/config/liquibase/](file:///d:/website_sisvietnam_moi/website_sisvietnam.vn/sisvietnamvn/src/main/resources/config/liquibase/)
|
|
|
|
## Development
|
|
|
|
To start your application in the dev profile, run:
|
|
|
|
```bash
|
|
./gradlew
|
|
```
|
|
|
|
For further instructions on how to develop with JHipster, have a look at [Using JHipster in development][].
|
|
|
|
## Building for production
|
|
|
|
### Packaging as jar
|
|
|
|
To build the final jar and optimize the sisvietnamvn application for production, run:
|
|
|
|
```bash
|
|
./gradlew -Pprod clean bootJar
|
|
```
|
|
|
|
To ensure everything worked, run:
|
|
|
|
```bash
|
|
java -jar build/libs/*.jar
|
|
```
|
|
|
|
Refer to [Using JHipster in production][] for more details.
|
|
|
|
### Packaging as war
|
|
|
|
To package your application as a war in order to deploy it to an application server, run:
|
|
|
|
```bash
|
|
./gradlew -Pprod -Pwar clean bootWar
|
|
```
|
|
|
|
### JHipster Control Center
|
|
|
|
JHipster Control Center can help you manage and control your application(s). You can start a local control center server (accessible on http://localhost:7419) with:
|
|
|
|
```bash
|
|
docker compose -f src/main/docker/jhipster-control-center.yml up
|
|
```
|
|
|
|
## Testing
|
|
|
|
### Spring Boot tests
|
|
|
|
To launch your application's tests, run:
|
|
|
|
```bash
|
|
./gradlew test integrationTest jacocoTestReport
|
|
```
|
|
|
|
## Others
|
|
|
|
### Code quality using Sonar
|
|
|
|
Sonar is used to analyse code quality. You can start a local Sonar server (accessible on http://localhost:9001) with:
|
|
|
|
```bash
|
|
docker compose -f src/main/docker/sonar.yml up -d
|
|
```
|
|
|
|
Note: we have turned off forced authentication redirect for UI in [src/main/docker/sonar.yml](src/main/docker/sonar.yml) for out of the box experience while trying out SonarQube, for real use cases turn it back on.
|
|
|
|
You can run a Sonar analysis with using the [sonar-scanner](https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner) or by using the gradle plugin.
|
|
|
|
Then, run a Sonar analysis:
|
|
|
|
```bash
|
|
./gradlew -Pprod clean check jacocoTestReport sonarqube -Dsonar.login=admin -Dsonar.password=admin
|
|
```
|
|
|
|
Additionally, Instead of passing `sonar.password` and `sonar.login` as CLI arguments, these parameters can be configured from [sonar-project.properties](sonar-project.properties) as shown below:
|
|
|
|
```bash
|
|
sonar.login=admin
|
|
sonar.password=admin
|
|
```
|
|
|
|
For more information, refer to the [Code quality page][].
|
|
|
|
### Docker Compose support
|
|
|
|
JHipster generates a number of Docker Compose configuration files in the [src/main/docker/](src/main/docker/) folder to launch required third party services.
|
|
|
|
For example, to start required services in Docker containers, run:
|
|
|
|
```bash
|
|
docker compose -f src/main/docker/services.yml up -d
|
|
```
|
|
|
|
To stop and remove the containers, run:
|
|
|
|
```bash
|
|
docker compose -f src/main/docker/services.yml down
|
|
```
|
|
|
|
[Spring Docker Compose Integration](https://docs.spring.io/spring-boot/reference/features/dev-services.html) is enabled by default. It's possible to disable it in `application.yml`:
|
|
|
|
```yaml
|
|
spring:
|
|
...
|
|
docker:
|
|
compose:
|
|
enabled: false
|
|
```
|
|
|
|
You can also fully dockerize your application and all the services that it depends on.
|
|
To achieve this, first build a Docker image of your app by running:
|
|
|
|
```bash
|
|
npm run java:docker
|
|
```
|
|
|
|
Or build an arm64 Docker image when using an arm64 processor OS, i.e., Apple Silicon chips (M\*), running:
|
|
|
|
```bash
|
|
npm run java:docker:arm64
|
|
```
|
|
|
|
Then run:
|
|
|
|
```bash
|
|
docker compose -f src/main/docker/app.yml up -d
|
|
```
|
|
|
|
For more information refer to [Docker and Docker-Compose](https://www.jhipster.tech/documentation-archive/v9.1.0/docker-compose/), this page also contains information on the Docker Compose sub-generator (`jhipster docker-compose`), which is able to generate Docker configurations for one or several JHipster applications.
|
|
|
|
## Continuous Integration (optional)
|
|
|
|
To configure CI for your project, run the ci-cd sub-generator (`jhipster ci-cd`), this will let you generate configuration files for a number of Continuous Integration systems. Consult the [Setting up Continuous Integration](https://www.jhipster.tech/documentation-archive/v9.1.0/setting-up-ci/) page for more information.
|
|
|
|
## References
|
|
|
|
- [JHipster Homepage and latest documentation](https://www.jhipster.tech/)
|
|
- [JHipster 9.1.0 archive](https://www.jhipster.tech/documentation-archive/v9.1.0)
|
|
- [Using JHipster in development](https://www.jhipster.tech/documentation-archive/v9.1.0/development/)
|
|
- [Using Docker and Docker-Compose](https://www.jhipster.tech/documentation-archive/v9.1.0/docker-compose)
|
|
- [Using JHipster in production](https://www.jhipster.tech/documentation-archive/v9.1.0/production/)
|
|
- [Running tests page](https://www.jhipster.tech/documentation-archive/v9.1.0/running-tests/)
|
|
- [Code quality page](https://www.jhipster.tech/documentation-archive/v9.1.0/code-quality/)
|
|
- [Setting up Continuous Integration](https://www.jhipster.tech/documentation-archive/v9.1.0/setting-up-ci/)
|
|
- [Node.js](https://nodejs.org/)
|
|
- [NPM](https://www.npmjs.com/)
|