Table of Contents

impactxchange_2024.pdf

Assignment Submission Tool

Idea Description:

Our proposal for the course management theme of the hackathon is to focus on the implementation of assignment submission feature. Since we should provide both a mobile application and a website, the way we decide to carry our ideas out is the following:


The Start

→ The first step in making our tool was naturally brainstorming. The team members spent a little bit of time discussing ideas and sharing opinions to decide on what exactly we were going to implement. This led us to agree on one topic that everyone liked and to write down on a paper what kind of attributes our idea should include to make it stand.


Studying our sustainability impacts

→ After making a primary rough draft of what we are expecting to produce, we wanted to tackle the sustainability aspect of our idea and link it to a couple of SDGs that it targets.

Target 4.3: By providing a robust digital platform for assignment management, the system supports inclusive and equitable quality education.

Target 4.4: The platform enhances the use of information and communications technology (ICT) in education, equipping students with relevant digital skills.

Target 9.1: Developing a mobile application and website supports resilient infrastructure and promotes sustainable industrialization.

Target 9.5: The project fosters innovation in the educational technology sector.

Target 12.5: By reducing paper consumption through digital submissions, the system contributes to substantially reducing waste generation.

Target 13.3: By reducing the carbon footprint associated with paper production and transportation, the system supports efforts to combat climate change.


Exploring the Tools and Guidelines Provided

1. Our experience with the backend guidelines

→ Now that we were set on a plan, we had to delve into the different guidelines provided to be able to create our project. The first thing we wanted to do is to set up a Google Cloud account since this will be the baseline to host our platform. While going through the guidelines, we made sure to incorporate some slight modifications in the phrasing of some instructions to provide better clarity to the reader. In addition to that, we also noticed that some of the steps we had written down before were not relevant anymore because of updates in the Google Cloud Platform. We made sure to modify those guidelines accordingly to make everything to the utmost clear.

The modifications brought can be seen through the following:

the Create a New Project section:
In the Enable Required APIs Section:
In the Set Up Cloud Storage section:
In the Install Node.js Section:
In the Install GCP CLI Section:
In the Using Github Section:

In the Initialize Firebase Admin SDK Section:

In the Deploy your App Locally section:

2. Our experience with the mobile frontend guidelines

→ Now that we have our backend set and working perfectlly, we decided to tackle the mobile frontend section and start working on the creation of our phone application. WGoing through the guidelines left us with some comments. Not all the remarks are bad, some of them being positive observations and others being suggestions.

3. Our experience with the web frontend guidelines

→ Our next step was to get familiar with the tools that we needed to use for designing our website. We were nicely surprised by how well formated the guidelines were and how easy it was to follow them. We still took notes of some suggestions that we thought we could provide to make the guidelines even more flawless. Those are the notes we came out with:

In the Ideation Phase

1. In the guideline: “Manage the codebase using GitHub for the purpose of collaborative development, we recommend GitHub Desktop for beginners

2. In the guideline “VScode is the recommended IDE because of its ease of use and global acceptance

3. In the guideline “Use MaterialUI for designing your Web Application and for making it accessible to variety of users with possible different impairments (visual impairment) and different use cases (PC, laptop, smart phones of different sizes, tablets) MaterialUI's already ready components increase the development speed and lead to a cleaner, more understandable code

In the Planning section:

1. [Minor Issue] It should be mentioned that the linked adobe software has a free trial for students, but is otherwise a paid service (see below image)

2. In the guideline “Use Agile Methodology: Break your project into small, manageable tasks (sprints). Regularly review progress and adjust plans as needed.

In the Designing Solution Phase

1. In the guideline “Option 1: Balsamiq (https://balsamiq.com)

2. In the guideline “Option 2: Figma (https://figma.com)

In the Setting up Development Environment Phase:

1. [Minor Issue] More information on GitHub is added here. As mentioned previously, this would have been helpful where git was first mentioned in these guidelines

In the Implementing Planning Phase:

1. [Minor Issue] It would be nice to have more information on how to reach the coding step. It jumps directly into it

2. In the section about “creating a new repository

3. [Critical Issue] The git desktop page does not correspond to the instructions (see below image)

4. In the section

5. In the section “In the git link “Install homebrew if you don't already have it, then:

6. [Minor Issue - Formatting] The - Import and -Open should not be in the code block (see below image)

7. [Critical Issue] There is no download link for git desktop, only regular git. Yet git desktop is referenced for usage, and the steps in the guidelines are for git desktop. Therefore they are currently incorrect, assuming the individual uses the links provided. The link https://desktop.github.com/ should be used instead

In the Deployment Phase:

1. In the section ”https://www.netlify.com)

2. In the section ”Register using your email and use password generator because Netlify has high requirements for password strength

3. In the section ”6) Go to the / /Sites/ / tab and opt for manual deployment

4. In the section ”10) Go to the / /Site configuration/ /n tab

5. [Critical Issue] In the Deployment section, it was overlooked that the user needs to run ‘npm run build’ prior to deploying on netlify, or it will not work

6. [Critical Issue] In the deployment section, it is stated to add the entire project folder to netlify. This is incorrect, and will not work. Only the build folder should be added

7. In the section ”For further deployment and development go to / /Deploys/ / tab

In the Resources Section Phase:

1. In the section ”React: [React Documentation](https:/ /reactjs.org/docs/getting-started.html


Measuring the footprint of the solution

→ While we were getting set with the development part, a very important phase that needed to be incorporated is the measurement of how green our tool is. In order to do that, we were welcomed with another set of tools and guidelines to help us do our assessment. Our experience with the varied tools were the following:

1. Our experience using the mobile green measurement tools

Android Studio Profiler

The tool was introduced to help you measure your real-time data on CPU, memory, network, and battery usage of your mobile application. However, the tool only works for Android devices and not on IOS ones; which are usually the most developed for applications in Flutter.

Flutter Dev Tools

This was still introduced as another option that works for both operating systems. However, there were no clear instructions on how to launch the tool and make it work apart from the sentence 'DevTools can be launched from the command line'. We still managed to use it at the end. We found that it is very comprehensive for monitoring the performance of an app. It has tools for memory, CPU, UI, network and many more. The only downside is that it is a bit overwhelming. Adding a step by step tutorial explaining how it works will be useful to the students.

Green Spector

For this one, I would say that we don't understand at all how to use this platform. First, we were a little bit confused while googling the name and were not sure if we landed on the right website, so it would have been better to have a link for quick and easy access. Nevertheless, the website has many info pages and no clarity on how to use the tool. Even the steps provided within the guidelines did not match any page on the website, or at least we were not able to find where we could carry out those steps. So in our opinion, we believe that this tool could be introduced better if wanting to be used

2. Our experience using the web green measurement tools

EcoGrader

- There is no link to the software provided

+ We were still able to find the website and use it to measure how green our website is. It is a very nice website that gives alot of useful info such as the performance impact, the climate impact, the page weight ect. The results we came out with are the following:

DigitalBeacon

- There is no link to the software provided

+ We were still able to find the website and use it to measure how green our website is. The results we got are the following:

GlobeMallow

-There is no link to the software provided

- When queried in google, the correct globemallow is not one of the first sites to appear. This is not user friendly, and can lead users to incorrect, and potentially harmful sites

- It appears this is not a good software to use via Mac. It works with chrome/ edge and prompts users to download chrome. It is not clear how it could be used with Safari, if it can be used at all. Therefore this service may not be helpful for people using a Mac.

+ After downloading the extension on a chrome browser, we were able to use it easily to get our green measures:

WebsiteCarbon

+ The tool was easy and straightforward. Our results were the following:

LightHouse

- There is no link to the information page (or further details page) software provided

- When queried in google, any page with correct information is near impossible to find via searching “lighthouse”, as this is a common word. Further, even when specifying “lighthouse sustainability” or “lighthouse website measurement”, for example, it still does not appear. Due to this error in the guidelines, this software is very difficult to find and can lead users to incorrect, and potentially harmful sites

- We were also not able to find this tool on any other browser apart from GoogleChrome

- We discovered that you can implement lighthouse directy to the production build on Netlify. Netlify was the recommended software by the web development guidelines team. Therefore it would have made more sense to recommend users to implement it this way, rather than the browser version that is not compatible with many broswers, and thus cannot be utilized by many users.

- Even after figuring out how to use the tool, our results were looking weird and not really understandable. We weren't able to interpret them at all. It would have been nice to have some guidelines explaining how the tool works exactly

Green Frame

-Should mention the in-depth reporting version is NOT free

Aalto University - Green Page Analyzer

+This tool was quite useful, and helped show the various impacts of the application, as well as how specific compartments of the application impact the sustainability report (such as details on specific inmages)

3. Our experience using the backend green measurement tools

Patterns and Energy Consumption

Formatting issue, description only uses half the page

SonarLint

-No information on page, just a direct link

SonarQube

-No information on page, just a direct link

Green Code Categories

- Formatting error [TEMP]