Challenge Overview
Welcome to the OpenWarp - Add Logging Functionality contest. As part of this contest, we would like for you to take an existing application and add advanced execution logging functionality.
We have many contests coming up in this project. Hence, participate early to understand the project better.
Project Overview
OpenWARP allows Wave Energy Conversion (WEC) companies to create a software model to simulate the movement of waves and determine the amount of power that the WEC device would output in the modelled environment. It consists of a web application that can mesh and simulate a body of an offshore structure.
Contest Details
Currently, the application has very minimalistic logging functionality. We would like you to enhance the application as follows:
-
Provide multi-level logging to classify logs as informational, warning or errors.
-
You can either enhance the User Interface to provide a page where the user can view the logs explicitly (example - papertrail add-on on heroku. The example provided is only to give you an idea about how logs can be shown in the UI. The app does not deploy to heroku and as such using the add-on for this project will not make sense.)
-
Or you can provide the logs in a file.
-
Any approach that you take should help the user in identifying why their calculations or simulations are failing.
-
There should be no degradation of performance when using the logging feature.
-
-
Log the application behaviour. Especially the input / output and the calculations / simulations performed. Reading these logs should be user friendly.
-
Allow users to configure the logger at runtime that allows them to control the logging level to display
Both the FORTRAN and Python code base needs logging. You can use the standard logging module for Python. For any other libraries, please first check in the contest forum
Deployment
Currently, the application has a one-click deployment for Mac, Linux and Windows OSs. However, the Deployment Guides are outdated and do not clearly describe how to deploy the application and also how to make changes and re-build the application. In this context, we would like you to:
-
Go through the provided code base and remove all Deployment Guides or irrelevant documents.
-
Create a new Deployment Guide based on the existing Deployment Guides (some exist in the code base and some will be provided in the contest forum). Make sure that your submission has only ONE Deployment Guide and it has all the information needed to deploy and does not contain references to any other documentation.
- Your Deployment Guide should have steps for deploying and building in Mac, Linux and Windows environments.
Final Submission Guidelines
Before submitting, kindly ensure that the requirements specified above are met. The application size is huge. As such, it does not make sense to upload the entire app. You can either submit a git patch of your changes or you can submit a pull request 5 minutes before the contest ends and upload just a text file containing your github handle to Topcoder.