Skip to content

MrPand-21/HRMS_Backend

Repository files navigation



HRMS

HRMS_Backend

AboutHow To UseInstallationCreditsRelatedReport BugRequest Feature

N-Layer Architecture human resource management system project builted by Java.

About the Project

Java Spring PostgreSQL forthebadge

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.

Getting Started

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.

Prerequisites

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.

Installation

A step by step guide that will tell you how to get the development environment up and running:

  1. 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!

  1. 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.

  1. 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.

  1. 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:

  1. In the IntellijIdea interface open Plugins > Marketplace and type EasyWSDL and install the plugin (here, you may need to restart Ide).
  2. Open the project again
  3. Double click mernisService folder and press EasyWSDL - Update web service option and it will regenerate all files.
  4. Close mernisServicefolder and go MernisServiceAdapter.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:

  1. Double click mernisService folder and press Add > Connected Service. As url paste https://tckimlik.nvi.gov.tr/service/kpspublic.asmx and press finish button.
  2. Close mernisServicefolder and go MernisServiceAdapter.java file in core/utilities/adapters/adapters/concretes and change imports, replace old imports with new file imports and there you are!

Usage - Deployment - Server

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!

Controllers

In the swagger-ui panel, there are 10 different controllers which you can use. They are :

  1. Activation Panel Controller
  2. Basic Error Controller
  3. City Controller
  4. Employer Controller
  5. Images Controller
  6. Job Controller
  7. Job Position Controller
  8. Job Seekers Controller
  9. Work Places Controller
  10. Work Times Controller

Please Refer to API Documentation

API Documentation

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Reference Documentation

For further reference, please consider the following sections:

Guides

The following guides illustrate how to use some features concretely:

Additional Links

These additional references should also help you:

Credits

Carabelli - Engin Demiroğ