This project is developed keeping page object pattern in mind.
So you need to create two packages inside your project.
<your comapny URL reverse package>.Actions
<your comapny URL reverse package>.PageObjects
Every class inside Actions package will extend BaseActions from framework and every PageObject should extend BasePageObject.
Here is sample PabeObject class.
https://github.com/qamate/orangehrm-selenium-automation/blob/master/src/main/java/com/qamate/orangehrm_selenium_automation/PageObjects/HomePage.java
You can have a look at project setup by checking out above project.
BaseActions: It takes care of initiating beforeSuite and After Suite as well as Before Method and After method activities, such as initiating report directory, initiating remote driver, initiating db communication.
BasePageObject: It defines structure of PageObject class. Also it has basic methods to work with elements.
Package has four major packages.
DTO: It is used to maintaing objects for reporting and utilizing the same for reporting later.
Base: It has xRemoteWebDriver which is extenstion of RemoteWebDriver, BasePageObject and BaseActions.
Reporting: It has all classes necessary for reporting purpose.
Util: It has utility classes such as,Reading excel file, sending an email, Managing property file, Zipping report, etc.