<div dir="ltr">Hello Everyone!<br><br>Please find the final report for the GSoC 2023. It was such a great experience and an amazing journey. I am grateful to everyone who has guided me through this project.<br><br><b>Title and Organization</b><br><br>Project: Getting ready with ZOO-Project for the OGC Compliance Testing<br>Organization: OSGeo (Open Source Geospatial Foundation), Zoo-Project<br><b><br>Abstract</b><br><br>The ZOO-Project is an open-source implementation of the OGC's Web Processing Service (WPS) standard. WPS Interface Standard provides rules for standardizing inputs and outputs (requests and responses) for geospatial processing services (e.g., polygon overlay). WPS also standardizes how a client can request the execution of a process and how the output from the process is handled. The ZOO-Project consists of four components:<br><ul><li>ZOO-Kernel: C implementation of a WPS-compliant server that allows management and chaining of individual WPS services.</li><li>ZOO-Services: A collection of geospatial tools implemented according to the WPS standard. These tools include methods from open-source libraries such as from open-source libraries: GDAL, GRASS GIS, Orfeo Toolbox, CGAL, and SAGA GIS.</li><li>ZOO-API: A server-side JavaScript API managing available WPS services</li><li>ZOO-Client: A client-side JavaScript API for communicating with a WPS server.</li></ul><br>This project aimed to make the ZOO-Kernel pass all the tests for WPS 1.0.0 and WPS 2.0.0 OGC Executable Test Suite (ETS). The project's main idea was to run test suites so that Zoo-Project could prepare for successful OGC compliance certification. We have successfully passed all the tests for WPS1.0 on the web browser and the GitHub Action command line interface.<br><br><b>The state of the art before GSoC</b><br><br>The ZOO-Project provides ready-to-use services implemented in C and Python. These services are based on open-source libraries and are compliant with OGC standards, with minor modifications in their source code. Currently, the ZOO-Project does include some tests that are run automatically from the GitHub action. These tests are specifically designed for the project. This proposal aims to define the test based on OGC test suites (OGC Test Engine). So, after this project, these tests from test suites will be validated automatically on every single build from the GitHub action.<br>The addition (added value) that your project brought to the software<br><br>The main objective of this project during GSoC 2023 is to run test suites so that Zoo-Project gets ready for successful OGC compliance certification. To achieve this, the following steps were taken:<br><br><ul><li>- To setup ZOO-Project on the host machine</li><li>- To set up the OGC Cite test server on the host machine using the documentation included within the Dockerfile ([<a href="https://github.com/opengeospatial/ets-ogcapi-processes10/blob/master/Dockerfile](https://github.com/opengeospatial/ets-ogcapi-processes10/blob/master/Dockerfile)">https://github.com/opengeospatial/ets-ogcapi-processes10/blob/master/Dockerfile](https://github.com/opengeospatial/ets-ogcapi-processes10/blob/master/Dockerfile)</a>)</li><li>- To run the tests for OGC API - Processes - Part 1: Core from local cite test instance using local ZOO-Project instance as Instance Under Test (IUT in the JAVA code associated with the CITE team code available ([<a href="https://github.com/opengeospatial/ets-ogcapi-processes10](https://github.com/opengeospatial/ets-ogcapi-processes10)">https://github.com/opengeospatial/ets-ogcapi-processes10](https://github.com/opengeospatial/ets-ogcapi-processes10)</a>)]</li><li>- Moving from OGC API - Processes - Part 1: Core to WPS 2.0.0. can also be added as a second step for the project. We have debugged the errors and successfully passed all the tests for WPS 1.0 on the web browser using the team engine. Next, we setup ETS for OGC API-Processes using the command line interface (CLI) on GitHub Action. All the 54 tests were passed successfully.</li></ul><br><b>Potential Future Work<br></b><br>The test fails error messages can be displayed directly on the test report for better understanding instead of debugging the errors and figuring out the error information from command lines. Also, the testing can be done for different test suites to know the generalizability of the ZOO-project.<br><br><b>What code has been merged<br></b><br>The link to the merged code to the main repository of ZOO-project:<br><a href="https://github.com/ZOO-Project/ZOO-Project/pull/61">https://github.com/ZOO-Project/ZOO-Project/pull/61<br></a><br><b>What I have learned</b><br><br>1. Real-World Experience: GSoC 2023 and Zoo-Project offered the chance to work on real-world projects for established open-source organizations. This practical experience is invaluable in applying the theoretical knowledge I have gained for software development.<br><br>2. Hands-On Coding: I had the opportunity to write code, develop features, fix bugs, and contribute to open-source projects under the guidance of experienced mentors. This hands-on experience is crucial for building my coding skills.<br><br>3. Mentorship: Working with mentors who are experts in their field allows me to receive guidance, feedback, and support. Mentors help me navigate challenges and provide insights that have accelerated my learning.<br><br>4. Collaboration: GSoC 2023 and Zoo-Project expose me to collaborative software development practices. I worked with a team of developers, contributing to a larger project. This experience helped me understand version control, code reviews, and project management.<br><br>5. Networking: GSoC 2023 and Zoo-Project connect me with a global community of open-source developers and enthusiasts. Building relationships within this community can open doors to future collaboration, job opportunities, and lifelong connections.<br><br>6. Project Management: GSoC 2023 and Zoo-Project require me to manage my time and tasks effectively to meet project deadlines. This experience is valuable in any career, as project management skills are highly sought after.<br><br>7. Communication Skills: I have learned to communicate effectively with mentors, team members, and the larger open-source community. Clear communication is a vital skill in software development and beyond.<br><br>8. Open-Source Culture: GSoC introduces me to the ethics of open-source development, emphasizing collaboration, transparency, and community involvement. These principles will influence my future approach to software development.<br><br><b>Links</b><br><br><ul><li>Project Proposal: <a href="https://github.com/Koushikey4596/ZOO-Project/wiki/Research-Proposal">https://github.com/Koushikey4596/ZOO-Project/wiki/Research-Proposal</a></li><li>GitHub Repo**: <a href="https://github.com/Koushikey4596/ZOO-Project">https://github.com/Koushikey4596/ZOO-Project</a></li><li>Project Wiki: <a href="https://github.com/Koushikey4596/ZOO-Project/wiki">https://github.com/Koushikey4596/ZOO-Project/wiki</a></li><li>Final report: <a href="https://github.com/Koushikey4596/ZOO-Project/wiki/Final-Report">https://github.com/Koushikey4596/ZOO-Project/wiki/Final-Report</a></li><li>Commit history:<a href="https://github.com/ZOO-Project/ZOO-Project/compare/main...Koushikey4596:ZOO-Project:gsoc2023-etsp10"> https://github.com/ZOO-Project/ZOO-Project/compare/main...Koushikey4596:ZOO-Project:gsoc2023-etsp10</a></li><li>Branch History: <a href="https://github.com/Koushikey4596/ZOO-Project/branches">https://github.com/Koushikey4596/ZOO-Project/branches</a></li></ul><div><br></div><div><b>Images</b><br><br><ul><li>Docker up and running: <a href="https://drive.google.com/file/d/1aUwJfdRX3Wq4ZRuKG7conzR5kbKOlgJ0/view?usp=drive_link">https://drive.google.com/file/d/1aUwJfdRX3Wq4ZRuKG7conzR5kbKOlgJ0/view?usp=drive_link</a></li><li>Debugged error messages: <a href="https://drive.google.com/file/d/1UIgVO-5g450wQhI8FMPD-NUq5qLuaz9n/view?usp=drive_link">https://drive.google.com/file/d/1UIgVO-5g450wQhI8FMPD-NUq5qLuaz9n/view?usp=drive_link</a></li><li>Successful test pass report:<a href="https://drive.google.com/file/d/1M-qg22aljKzGrtpPiIrCA7l1_4C3d5H0/view?usp=sharing"> https://drive.google.com/file/d/1M-qg22aljKzGrtpPiIrCA7l1_4C3d5H0/view?usp=sharing</a></li></ul><br></div><div><b>Video</b><br><br><ul><li>An end-to-end illustration video link:<a href="https://drive.google.com/file/d/1ciIvzII3nwMgshjjBIUNqdmoLqGgnU9Q/view?usp=sharing">https://drive.google.com/file/d/1ciIvzII3nwMgshjjBIUNqdmoLqGgnU9Q/view?usp=sharing</a></li></ul><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Koushikey Chhapariya<div>Centre of Studies in Resources Engineering (CSRE)<div>Indian Institute of Technology, Bombay</div><div><a href="https://sites.google.com/view/koushikey" target="_blank">https://sites.google.com/view/koushikey</a><br></div></div></div></div></div></div></div>