Build for HBT's profile management suite, the profile service gathers and consolidates marketable master data for all employees. It provides access to the core object profile and administrative functions to keep data clean.
This service is a spring boot based (micro) service that uses relational database (preconfigured MySQL) as persistence layer. API documentation is provided by swagger.
To get started, you have to bootstrap the database:
- Clone this repository
git clone https://github.com/HBTGmbH/pwr-profile-service.git
- Import the project into an IDE of your choosing and add it as maven project. An IntelliJ project configuration is provided within this repository.
- Copy the
application.yml
fromconfiguration
to/src/main/resources
- Start a database with
docker-compose up -d pwr_profile_service_db
- This will start a database that is preconfigured with profile service defaults
- Bootstrap the database bei either
- Creating and running a spring boot run configuration and setting the
spring.profiles.active
system property tobootstrapDatabase
- Running
mvnw spring-boot:run -Dspring.profiles.active=bootstrapDatabase
That's it. You are done. Once the container has started successfully, your database schema should have been bootstrapped. You are now ready for local development.
- Creating and running a spring boot run configuration and setting the
- Create a new run configuration, call it
Profile Service (Local)
- Set the system property
spring.profiles.active
todocker
- Make sure the database you started in
Getting Started
is running - Launch
Go to a browser of your choice and open the following url: http://localhost:9004/webjars/swagger-ui/3.20.9/index.html?url=http://localhost:9004/v2/api-docs#/
This is the services swagger documentation. You can try it out, create a new consultant, a profile, and add some data to it.
Before you start contributing:
- Make sure you imported the provided code style settings.
- Make sure your development environment is set. You will need
- Java 13 or higher
- Maven 3
- Docker
- A rough understanding about spring boot.
If you are unfamiliar with spring boot, take a look at the spring boot guides;
This service is using a feature-branch workflow.
- When working on a feature or bugfix, create a new branch either from master or development
- Bugfixes should be created from the development branch
- Features should be created from the master branch
- Develop your feature or bugfix.
- When committing, make sure to create a short, meaningful initial message. If you have more to document in the commit message itself, move it to a new line. (Todo: Example)
- Once you are done, create a pull request from your branch to the development branch.