Page MenuHomePhabricator

Outreachy 32: Addressing the lusophone technological wishlist proposals - Create a JavaScript script to manipulate a json object and print it in a human legible format
Open, Needs TriagePublic

Description

IMPORTANT: Make sure to read the Outreachy participant instructions and communication guidelines thoroughly before commenting on this task. This space is for project-specific questions, so avoid asking questions about getting started, setting up Gerrit, etc. When in doubt, ask your question on Zulip first!

This is the first task for T418284: Outreachy 32: Addressing the lusophone technological wishlist proposals

Objective of the task: Create a JavaScript script to manipulate a json object and print it in a human legible format.
Steps:

  1. You should create an account in Github, if you don't already have one. You can do so at https://github.com/signup.
  2. You should download this mockup HTML file:
  3. Change the variable YOUR NAME to your identification (it doesn't need to be your real name).
  4. Based on the input provided, create and write your javascript code below the YOUR CODE HERE mark.
  5. Your javascript code needs to get the data from the data variable and print them into the HTML element with #results ID in the following format:
    1. Article "ARTICLE TITLE" (Page ID PAGEID) was created at MONTH DAY, YEAR.
    2. e.g. Article "André Baniwa" (Page ID 6682420) was created at September 12, 2021.
  6. Commit your HTML file to GitHub and send us a link to it by email to tecnologia AT wmnobrasil.org with subject [Outreachy] <your username>
  7. Make sure to also register it as a contribution on the Outreachy website! We'll send you a reply to say whether it is accepted or not.

Note: applicants that submitted both tasks until Monday, April 6th, 4pm UTC, will receive feedback until Friday, April 10th, so that they can improve their application. The project is closed to new applications.

Related Objects

Event Timeline

Arcstur updated the task description. (Show Details)
LGoto renamed this task from Outreachy 32: Addressing the lusophone technological wishlist proposals - Task 1 to Outreachy 32: Addressing the lusophone technological wishlist proposals - Create a JavaScript script to manipulate a json object and print it in a human legible format.Feb 27 2026, 9:10 PM

@Arcstur Hello, I am an outreachy intern and would love to be assiigned this task.

All the applicants can submit these tasks or only the assigned applicants? Could you please clarify this? @Arcstur @Ederporto

All the applicants can submit these tasks or only the assigned applicants? Could you please clarify this? @Arcstur @Ederporto

I initially assumed the same, but it turns out the other task has be assigned to someone so it may be the case. Let's wait and see.
Btw, hi and nice to meet you :)

Hi @Ederporto and @Arcstur, I am Deeksha and I'm interested in contributing to this project for Outreachy Round 32. I am working on the microtasks T418285 and T418286. I have a good command of both JavaScript and Python, so I'm excited to explore both Wish #3 and Wish #8.

Hi @KimFarida and @Sania231, all Outreachy applicants can submit both tasks. There is no need to assign them here on Phabricator. Hi @Deeksha_09, thanks for sharing! Best regards to all of you.

Hi @KimFarida and @Sania231, all Outreachy applicants can submit both tasks. There is no need to assign them here on Phabricator. Hi @Deeksha_09, thanks for sharing! Best regards to all of you.

No problem, thanks for clarification and looking forward to working with you! :)

Hi @KimFarida and @Sania231, all Outreachy applicants can submit both tasks. There is no need to assign them here on Phabricator. Hi @Deeksha_09, thanks for sharing! Best regards to all of you.

Sure. Thank you so much for clarifying!

Hi, my name is Faith. I’m a backend-focused developer with experience in Python, Django, and REST APIs. I’m interested in contributing to this project for Outreachy and have started reviewing the microtasks.

I am looking forward to contributing and learning from the community.

Hi @Arcstur and @Ederporto,

Quick question about Task 1, I wanted to share something I noticed during testing and get your thoughts.

When I first ran the HTML file with the original template as provided, the "Results of my code" section wasn't displaying the formatted output in my browser (Chrome). I checked the Developer Console and saw a syntax error on line 23.

After some debugging, I realized the {# ... #} comment syntax in the template wasn't being interpreted as I expected in the JavaScript context. When I changed them to //, the code executed successfully and displayed all 12 articles with properly formatted dates.

For context, here's what I changed:

  • {# INPUT #}// INPUT
  • {# YOUR CODE HERE #}// YOUR CODE HERE

The code now works perfectly and all outputs match the expected format. Just wanted to confirm this approach is acceptable before finalizing my submission.

Thanks!

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hi Carita
I was wondering about the same thing, anyone here's who is aware of this?

@Arcstur Can I use a single repo to submit both tasks, or should each be in its own repo?

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hi Carita
I was wondering about the same thing, anyone here's who is aware of this?

Hello @Carita_Ndibe and @Supreetkaur0602

I had the same question earlier and here’s what I went with:

I used my Outreachy username for the email subject ([Outreachy] <your username>), mainly because that’s the identity tied to our application and contributions on the Outreachy platform.

Since the instruction doesn’t explicitly mention Phabricator, using the Outreachy username keeps things consistent and easier for mentors to track submissions back to our applications.

If anyone gets a confirmation from the mentor on this, feel free to share

@Arcstur Can I use a single repo to submit both tasks, or should each be in its own repo?

Hello @Ezra_yendau,

I already submitted mine and here’s what I did in case it helps:

I used a single GitHub repository for both tasks.

In my submission email, I included:

The main repository link
A direct link to Task 1
A direct link to Task 2

This way, everything is organized but still easy for mentors to review each task individually.

Since the instructions didn’t strictly specify repo structure, I focused on clarity and ease of access for reviewers.

If the mentor suggests otherwise later, we can always adjust

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hi Carita
I was wondering about the same thing, anyone here's who is aware of this?

Hello @Carita_Ndibe and @Supreetkaur0602

I had the same question earlier and here’s what I went with:

I used my Outreachy username for the email subject ([Outreachy] <your username>), mainly because that’s the identity tied to our application and contributions on the Outreachy platform.

Since the instruction doesn’t explicitly mention Phabricator, using the Outreachy username keeps things consistent and easier for mentors to track submissions back to our applications.

If anyone gets a confirmation from the mentor on this, feel free to share

cool, thank you

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hi Carita
I was wondering about the same thing, anyone here's who is aware of this?

Hello @Carita_Ndibe and @Supreetkaur0602

I had the same question earlier and here’s what I went with:

I used my Outreachy username for the email subject ([Outreachy] <your username>), mainly because that’s the identity tied to our application and contributions on the Outreachy platform.

Since the instruction doesn’t explicitly mention Phabricator, using the Outreachy username keeps things consistent and easier for mentors to track submissions back to our applications.

If anyone gets a confirmation from the mentor on this, feel free to share

cool, thank you

@Carita_Ndibe You're Welcome

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hi Carita
I was wondering about the same thing, anyone here's who is aware of this?

Hello @Carita_Ndibe and @Supreetkaur0602

I had the same question earlier and here’s what I went with:

I used my Outreachy username for the email subject ([Outreachy] <your username>), mainly because that’s the identity tied to our application and contributions on the Outreachy platform.

Since the instruction doesn’t explicitly mention Phabricator, using the Outreachy username keeps things consistent and easier for mentors to track submissions back to our applications.

If anyone gets a confirmation from the mentor on this, feel free to share

Oh thanks

Hello @Arcstur,
The username here "with subject [Outreachy] <your username>" for submitting ours tasks, will it be our Outreachy account username or the username here on Phabricator?

Hi Carita
I was wondering about the same thing, anyone here's who is aware of this?

Hello @Carita_Ndibe and @Supreetkaur0602

I had the same question earlier and here’s what I went with:

I used my Outreachy username for the email subject ([Outreachy] <your username>), mainly because that’s the identity tied to our application and contributions on the Outreachy platform.

Since the instruction doesn’t explicitly mention Phabricator, using the Outreachy username keeps things consistent and easier for mentors to track submissions back to our applications.

If anyone gets a confirmation from the mentor on this, feel free to share

Oh thanks

You are welcome @Supreetkaur0602

Hello mentor @Arcstur

I completed microtask T418285. My JavaScript script defines a JSON object with fields (name, project, task, urls), prints a clear header, and then uses JSON.stringify with 4-space indentation to display the object in a human-readable format.

Here is the Replit project link: https://replit.com/@halimamuktar/OutreachytaskT418285

Sample output:
Formatted JSON Output:
{

"name": "Halima",
"project": "Outreachy",
"task": "T418285",
"urls": [
    "https://google.com",
    "https://github.com",
    "https://python.org"
]

}

Please let me know if you have feedback or suggestions for improvement.
Thank you!

Hello mentor @Arcstur and @Ederporto,

I have completed microtask T418285.

Repository link:
https://github.com/KalyaniRayala/Outreachy-Lusophone-tasks

Task file link: https://github.com/KalyaniRayala/Outreachy-Lusophone-tasks/commit/89d618c855a20b7ba5aee39dc91972d53cb940cf

Sample output:
Article "André Baniwa" (Page ID 6682420) was created at September 13, 2021.
Article "Benki Piyãko" (Page ID 4246775) was created at December 10, 2013.
Article "Célia Xakriabá" (Page ID 5882073) was created at December 3, 2018.

Please let me know if any improvements are needed.
Thank you.

Hey ! I am Dinah, a software developer and an outreachy applicant. I have experience working with javascript so this is quite doable.
I have started working on this and will send my email for the completed tasks soon.
Looking forward to the feedback that will be given

Hello mentors @Arcstur and @Ederporto, I hope you are doing well.

I have completed microtask T418285.

Please find my code in the following repo: https://github.com/konesham2014/outreachy-task1

Sample output:
Article "André Baniwa" (Page ID 6682420) was created at September 13, 2021.

Article "Benki Piyãko" (Page ID 4246775) was created at December 10, 2013.

Article "Célia Xakriabá" (Page ID 5882073) was created at December 3, 2018.

Article "Chirley Pankará" (Page ID 6977673) was created at October 5, 2022.

Article "Cristine Takuá" (Page ID 7069044) was created at February 16, 2023.

Please let me know if any improvements are needed or if there are any feedbacks.
Thank you for your time.

Hi @Arcstur and @Ederporto,

Quick question about Task 1, I wanted to share something I noticed during testing and get your thoughts.

When I first ran the HTML file with the original template as provided, the "Results of my code" section wasn't displaying the formatted output in my browser (Chrome). I checked the Developer Console and saw a syntax error on line 23.

After some debugging, I realized the {# ... #} comment syntax in the template wasn't being interpreted as I expected in the JavaScript context. When I changed them to //, the code executed successfully and displayed all 12 articles with properly formatted dates.

For context, here's what I changed:

  • {# INPUT #}// INPUT
  • {# YOUR CODE HERE #}// YOUR CODE HERE

The code now works perfectly and all outputs match the expected format. Just wanted to confirm this approach is acceptable before finalizing my submission.

Thanks!

Right, I discovered this as well

Hello mentors @Arcstur and @Ederporto

I have completed both the microtasks T418285 and T418286 as a part of the contribution before April 6th, 4pm UTC.

Looking forward to your valuable feedback

Thank You.

Hello @Arcstur and @Ederporto I'm kindly following up on this "Note: applicants that submit both tasks until Monday, April 6th, 4pm UTC, will receive feedback so that they can improve their application".

Hello mentors @Arcstur and @Ederporto

I have completed both the microtasks T418285 and T418286 as a part of the contribution before April 6th, 4pm UTC.

I am very much open to any other task that is open for contribution

Thank You.

Hello @Arcstur and @Ederporto,

Thank you for your feedback.

I have updated Task 1 based on your suggestions.

  • Fixed the issue where results were not visible by ensuring the script correctly renders output in the HTML page
  • Removed invalid syntax that could interfere with execution
  • Updated the placeholder "your-username" with my actual username

I have also reviewed and improved Task 2 accordingly.

Repositories:

Thank you for your guidance.

Best regards,
Ayush Khati

Thank you so much for the feedback @Arcstur @Ederporto

On my microtask 1(Javascript): The issue was due to timezone differences when parsing date strings as UTC. I've updated the code to construct the date using local time, which prevents the off-by-one error across timezones.

Here's the repo: https://github.com/kenny-4111/outreachy-task-1.git

on my microtask 2(python): I've updated the implementation to use HEAD requests for efficiency and enabled redirect following to capture the final response status.

Here's the repo: https://github.com/kenny-4111/outreachy-task-2.git

Thank you so much for your guidance .

Hello @Arcstur

I have made the necessary improvements to my application. The new changes are now available on GitHub for your review.
Thank you for your feedback on the initial application.

Project repository: https://github.com/Ezi-code/outreachy32

Changes Made

JavaScript Task:

  • Fixed the local timezone used, which caused inconsistency with the UTC-3 timezone.
  • Improved DateFormatter

Python Task:

  • Used request.head instead of request.get to ignore the content of the URL.
  • Simplified error output format for consistency.
  • Refactor the test file to be consistent with the new changes

@Arcstur, what should be the response to this question in the final application?

Outreachy internship project timeline:

Please work with your mentor to provide a timeline of the work you plan to accomplish on the project and what tasks you will finish at each step. Make sure take into account any time commitments you have during the Outreachy internship round. If you are still working on your contributions and need more time, you can leave this blank and edit your application later.