Desktop application for reading data from API Prozorro.ua for importing into the database.
To using necessary:
- IDE
- JDK 1.8 or later
- Maven
- Oracle(11.2.0 or more) or MySQL database
To work with Oracle 11.0.2, you need to install oracle lib in your maven repository.
The project uses the library ojdbc6.jar, which is located on the path from the root of the application 'lib/ojdbc6.jar'.
For installing it to Maven:
mvn install:install-file -Dfile='YOUR_PATH'/ojdbc6.jar -DgroupId=com.cmabreu -DartifactId=mylocal-lib -Dversion=1.5 -Dpackaging=jar -DgeneratePom=true
If you do not going to work with Oracle DB, you can remove oracle dependency from pom.xml:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>${oracle.version}</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath>
</dependency>
To build the project use:
mvn clean jfx:jar
Right jar file will be in directory 'Project_name/target/jfx/app/'
Prozorro provides an API tutorial:
Developed and tested for API version 2.5. For getting information from beginning use start pages:
- https://public.api.openprocurement.org/api/API_VERSION/tenders
- https://public.api.openprocurement.org/api/API_VERSION/plans
- https://public.api.openprocurement.org/api/API_VERSION/contracts
Information about the tender can be obtained by reference https://public.api.openprocurement.org/api/API_VERSION/tenders/Tender_ID
For example, information about tender with id '55e20be09f3544deace53f5a9019f800' can be taken by link https ://public .api.openprocurement.org/api/2.5/tenders/55e20be09f3544deace53f5a9019f800
For getting currencies rates' information used NBU API https://bank.gov.ua/control/uk/publish/article?art_id=38441973
During developing the project was implemented three different realisations of importing data from Prozorro. Each realisation represent in separate branch:
Realise | Description |
---|---|
realise-1.0 | First version. Without maven, VCS. Work with the database implemented with JDBC. Imported data have restrictions on length and content. Import working very slow. Supports only MySQL database. Import only Tenders |
realise-2.0 | Added support maven, git, Hibernate. Import only Tenders |
realise-3.0 | Import tenders, plans, contracts, NBU rates. Added support Oracle 11 |
current | Import tenders, plans, contracts as JSON only. Added support Oracle 12 |
For working with JSON was used some online resources