IMPORTANT: Make sure to read the [Outreachy participant instructions](https://www.mediawiki.org/wiki/Outreachy/Participants) and [communication guidelines](https://www.mediawiki.org/wiki/New_Developers/Communication_tips) 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](https://www.mediawiki.org/wiki/Outreach_programs/Zulip) first!
IMPORTANT: We are **not accepting** new applicants for this project. Pick up new tasks and reach out to the mentors only **if you are a member of the Telegram groupchat**. If you used to be a member of the groupchat but were removed on the 6th/7th of October, reach out to datos at wikimedistas.uy
===Brief summary
Wikidata for Education is a curricula digitisation project aiming to align Wikimedia projects with school curricula with the help of Wikidata. Piloted in Ghana, the project proved the concept that Wikibase software helps structure curricula data. The model was later replicated in Uruguay.
Wikimedistas de Uruguay was able to show the data with the help of an interface developed by Wikimedia Italy's project [[https://meta.wikimedia.org/wiki/Wikipedia_e_scuola_italiana | Wikipedia a Scuola Italiana]]. It consists of a static website that visually represents the data stored in a TSV file, plus a Python script that generates this TSV by calling different APIs
Wikidata for Education is in need of an interactive and engaging user interface so that Wikimedia contributors, teachers, and the general public can visualize and explore the curriculum topics and structure. [[https://wikicurricula.wikimedistas.uy|Wikicurricula]] is a good starting point, but it still needs several improvements before it can be considered Wikidata for Education’s UI.
**The main goal of this project is to use Wikicurricula as an interactive and engaging way to visualize curriculum structured data on Wikidata.**
For this, we need to:
# Create a boilerplate project with accurate documentation, so that Wikicurricula can be reusable for new countries and languages.
# Improve Wikidata’s integration with Wikicurricula
# Improve Wikicurricula’s user interface
===Skills required
//**Required**//
* Basic web development skills.
* Intermediate proficiency in any programming language, preferably Python
* Being comfortable around databases, spreadsheets and datasets
* Basic Git usage
//**Appreciated**//
* Familiarity with SQL/SPARQL/Wikidata Query Service
* Experience with [[https://d3js.org/|d3js]] library
* Basic understanding of Spanish or Italian as the project is mostly documented in Spanish or Italian
===Possible mentor(s)
Technical Mentor: @Piracalamina
Technical Mentor: @Sannita
Project Mentor: @SPatnaik
**Useful links**
//Boilerplate//
* The repo we'll be working on: https://github.com/wikicurricula-uy/wikicurricula-boilerplate
//Italy - Wikipedia e Scuola italiana//
* Visualization: https://itwiki-scuola-italiana.toolforge.org/
* Codebase: https://github.com/giovannipro/giovannipro.github.io/tree/master/wikipedia-scuola-italiana
* Data gathering script: https://github.com/wikicurricula-uy/curriculaBot/blob/d90de51751d7e5e83f12f9a7fa7c1f1660483aa3/bot.py
* Meta page: https://meta.wikimedia.org/wiki/Wikipedia_e_scuola_italiana
//Uruguay - Wikicurrícula Uy//
* Visualization: https://wikicurricula.wikimedistas.uy/
* Codebase: https://github.com/wikicurricula-uy/wikicurricula-uy.github.io
* Curriculum topics query: https://w.wiki/7P$C
* Data gathering script: https://github.com/wikicurricula-uy/curriculaBot
//Ghana//
* Curriculum topics query: https://w.wiki/7Zge
//Wikidata for Education //
* Meta page: https://www.wikidata.org/wiki/Wikidata:Wikidata_for_Education
//Get familiar with... //
* Wikidata: https://www.wikidata.org/wiki/Wikidata:Introduction
* SPARQL: https://www.wikidata.org/wiki/Wikidata:SPARQL_tutorial
* Toolforge: https://wikitech.wikimedia.org/wiki/Help:Toolforge
===Microtasks
**//Boilerplate+Documentation//**
[x] **Write documentation** on how to make a local install (in your computer) of [[https://github.com/wikicurricula-uy/wikicurricula-boilerplate|Wikicurrícula Boilerplate]]. The visualization is a static HTML+CSS+JS. The data-gathering folder contains scripts that are run manually.
[x] **Write documentation** at the Readme file on how to feed the visualization with data from a new curriculum. The instructions should include building and running the Wikidata query. Remember that, for the time being, only Uruguay's and Ghana's curriculum are structured in Wikidata.
[x] **Write documentation** on how to deploy [[https://github.com/wikicurricula-uy/wikicurricula-boilerplate|Wikicurrícula Boilerplate]] in Toolforge. You may practice by migrating Uruguay's Wikicurricula from it's current hosting (Github Pages) to Toolforge.
[x] Translate the boilerplate's interface to English
[] [[https://github.com/wikicurricula-uy/wikicurricula-boilerplate/issues/11|Parametrize code variables in bot.py to match each Wikipedia's configuration file]] [] Implement - and deploy at Toolforge - Wikicurricula for [[https://w.wiki/7Zge|Ghana's national curriculum]], with reference to the English Wikipedia. **Document the process** at the boilerplate project, or **improve the documentation** that has been previously written. Which parts of this process are the most cumbersome? What can we change in the code, or automate, so that new implementations are easier? If you come up with any ideas, [[https://github.com/wikicurricula-uy/wikicurricula-boilerplate/issues|write a Github issue]]
**//UI Improvements//**
[] In the Spanish version of the data-gathering script, the feature that counts the templates (//avisi//) added to an article is not working. Fix and enable this feature.
[] In the visualization, make it possible to order the articles in the x axis by number of references
[] Create a view that shows the curriculum topics that don't have an article in the analyzed Wikipedia (topics of Uruguay's curriculum that don't have an article in the Spanish Wikipedia, topics of the Ghana's curriculum that don't have an article in the English Wikipedia)
[] Add to the visualization's subject popup the grade and subject each curiculum topic belongs to
**Ready to start?**
* Make your pull requests to the [[https://github.com/wikicurricula-uy/wikicurricula-boilerplate|Boilerplate repo]].
* Many files such as voci_2023.tsv, subjects.tsv, query.tsv contain hardcoded data that should not be included in the boilerplate. They have been included in the repo for your reference, but feel free to remove them and add them to the git ignore once we have proper documentation.
* Remember that the goal of this project is to create a boilerplate that can be easily adapted to other countries and languages needs. Clear documentation, descriptive names and comments are more important than the features themselves.
* Email datos at wikimedistas.uy or message @Pirakalamina on Telegram for more info