About • How To Use • Installation • Credits • Related • Report Bug • Request Feature
N-Layer Architecture human resource management system project builted by Java.
N-Layer Architecture human resource management system project. Using this project, you can create admins
, job seekers
, jobs
and employers
.
Along with these, you can find the frontend of this project built with react in my profile or you can use this as an api and use the swagger-ui
interface.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
The things you need before installing the software.
- You should download
PostgreSQL
on your device. - You should download
Java Sdk
on your device. - Lastly, don't forget to download an ide and plugins which you can write codes.
A step by step guide that will tell you how to get the development environment up and running:
- Clone the repository
# Clone this repository
$ git clone https://github.com/MrPand-21/HRMS_Backend.git
# Go into the repository
$ cd HRMS_Backend
Open this in terminal or you can use your ide!
- Create PostgreSQL connectinon (If don't use Postgre, execute script in yours)
# open the Postgre SQL script
$ nano `PostgreDatabaseSQL`
Here, copy the SQL script from here or open it from github and copy.
Then open the Postgre's pgAdmin4
, under Databases (Servers/Your Server/Databases/) create a database and give its name to it (Default = HRMS). Then find the CREATE Script option (double click to database). It will open a Query Editor
to you and here, paste the SQL script we copied from PostgreDatabaseSQL
file and execute the script. Don't forget to refresh database to see the tables.
- Configure the Connection you can open the application.properties in terminal:
#open in terminal
$ nano src/main/resources/application.properties
or you can directly open in your code editor. Then, configure your cridentials in the application.properties file.
- Create Mernis Connection (Optional)
This project created in Turkey, that's why it uses Mernis System to check if the person is Turkey citizen or not. If you don't want to use it, you can delete the mernisService
folder and delete mernisServiceAdapter.java
and related files.
To use the mernis service, you can use the WSDL Generator. If you use IntellijIdea, you can follow the following instructions:
- In the IntellijIdea interface open Plugins > Marketplace and type EasyWSDL and install the plugin (here, you may need to restart Ide).
- Open the project again
- Double click
mernisService
folder and pressEasyWSDL - Update web service
option and it will regenerate all files. - Close
mernisService
folder and goMernisServiceAdapter.java
file in core/utilities/adapters/adapters/concretes and change imports, replace old imports with new file imports and there you are!
If you use Eclipse, you can follow the following instructions:
- Double click
mernisService
folder and press Add > Connected Service. As url paste https://tckimlik.nvi.gov.tr/service/kpspublic.asmx and press finish button. - Close
mernisService
folder and goMernisServiceAdapter.java
file in core/utilities/adapters/adapters/concretes and change imports, replace old imports with new file imports and there you are!
Now, you can start the project in HRMSApplication.java. Since we use springboot, you may want to go to the springboot interface.
Once you open this link after run the application, you can use it. That's it!
In the swagger-ui panel, there are 10 different controllers which you can use. They are :
- Activation Panel Controller
- Basic Error Controller
- City Controller
- Employer Controller
- Images Controller
- Job Controller
- Job Position Controller
- Job Seekers Controller
- Work Places Controller
- Work Times Controller
Please Refer to API Documentation
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Right now there is only one branch which is master.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Boot DevTools
- Spring Web
- Spring Data JPA
- Spring Native Reference Guide
- Spring Configuration Processor
The following guides illustrate how to use some features concretely:
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
- Accessing Data with JPA
- Installing and Using EasyWSDL in IntellijIdea from stratch
These additional references should also help you:
Carabelli - Engin Demiroğ