Green-Software-Foundation / hack

Carbon Hack 24 - The annual hackathon from the Green Software Foundation
https://grnsft.org/hack/github
15 stars 2 forks source link

Manifest Wizard #124

Open StephanieHhnbrg opened 7 months ago

StephanieHhnbrg commented 7 months ago

Summary

Manifest Wizard is a frontend tool to support users creating manifest files as input for the Impact Framework (IF). The user is able to build their own pipeline of plugins, configure them and add observation data.

Furthermore the user is also able to upload manifest files with output data to visualise their metrics.

Problems

Yaml files can be quite complex as configuration format and with the strict validation of the manifest yaml by the plugins within the Impact Framework, users can get discouraged quickly, while setting up their yaml files. Especially when trying the IF for the first time or for users unfamiliar with coding or the yaml format, receiving error messages for faulty input yamls repetively might impact the user experience.

Application

Manifest Wizard should tackle this problem and offer a solution as a user-friendly tool. In two simple steps the users can create their manifest file: 1st configuring their plugin pipeline 2nd adding their observations (by input or csv upload).

The frontend tool is offering different views to visualise the pipeline, inspect the added data and read the manifest file. The user can copy or download the generated manifest to use the Impact Framework. Afterwards the output file can be uploaded to Manifest Wizard to visualise the data with customisable charts.

Prize category

Best Contribution to the Framework

Judging criteria

The impact of Manifest Wizard is not only reduce the entry barrier for new users by generating manifest files, but also to let users play around, configuring their plugin pipeline. Instead of going through the technical ReadMes of the different plugins, the user can read short descriptions of the plugins and inspect their configuration attributes, input and output parameters within Manifest Wizard. Afterwards the user can add their observations by simply uploading a csv file or by input and do not need to stress themselves with the complexity of a yaml file.

By using a stepper component, the user is guided through the tool. In addition to that, hints are displayed and little pop-ups are informing the users for faulty file uploads (wrong format, missing columns, ...) or missing configurations.

Video

Submission Video

Artefacts

GH Repository: https://github.com/StephanieHhnbrg/manifest-wizard GH Page: https://stephaniehhnbrg.github.io/manifest-wizard

Usage

README: https://github.com/StephanieHhnbrg/manifest-wizard/blob/main/README.md

Process

The solution was developed with Angular and the process was to first develop a running MVP, before fixing little issues and adding more and more features.

Inspiration

My inspiration was my antipathy against yaml files.

Challenges

My biggest challenge was the deployment of the tool to Github Pages and it took a lot of trouble shooting.

Accomplishments

I am most proud of deploying a running MVP with a decent design in such a short time.

Learnings

I learnt a lot about green software 💚

What's next?

The goal is to donate the project to GSF and to encourage people to actually use it as part of the Impact Framework.

Furthermore it would be nice to add a server to apply the generated manifest file onto the Impact Framework by running a script. Therefore there is no media break, the user does not need to download the generated manifest, switch tools and use the terminal, but receives the output data by the response of the server.

Project team

@StephanieHhnbrg

Terms of Participation

StephanieHhnbrg commented 6 months ago

repository: https://github.com/StephanieHhnbrg/manifest-wizard

russelltrow commented 6 months ago

Hi @StephanieHhnbrg please don't forget to register your project: https://hack.greensoftware.foundation/register/

This provides you direct access to the Impact Framework team for your questions and also benefits from our community partners (Microsoft & Electricity Maps).

You must register your project before you can submit your solution for judging.