Fetching the latest programs, projects, and workspace data.

Internet content available offline.
Showing 5 of 20 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: atharvyadav22
Improving the testing system of the Kiwix Android app to make tests more stable, faster, and reliable. This includes fixing flaky tests, improving CI/CD performance, and ensuring testing reflects real-world usage conditions.
Mentors: Student: Ziad Ibrahem
This project adds a combinator builder to WP1 that lets users combine multiple existing selection builders into one result. Instead of using just one method, users can mix different builders using simple operations like union, intersection and difference. The goal is to make it easier to create flexible and powerful article selections while keeping the interface simple and easy to use. The project includes designing the system, building a clear UI, and making sure it works efficiently.
Mentors: Student: Vikram Aditya Verma
MWoffliner is a tool for scraping MediaWiki content into ZIM files for offline access, but its current architecture has significant maintainability and testability issues. The codebase suffers from singleton patterns preventing parallel execution, monolithic files, circular dependency cycles, code quality issues and tests that require full infrastructure that take a while to run. I'll deliver a comprehensive architectural refactoring that introduces dependency injection, breaks up monolithic files and singletons, implements storage abstraction for fast unit testing, restructures the directory organization, and optimizes the article processing pipeline all along with improved code quality. This refactoring will eliminate circular dependencies, enable tests to run without infrastructure, improve code modularity and architecture along with performance.
Mentors: Student: Uchechukwu Orji
This project aims to automate the creation of ZIM files for Wikipedia selections on WP1 by allowing users to schedule updates at regular intervals (e.g., 1, 3, 6, or 12 months). Users provide an email address to receive notifications once their updated ZIM file is ready, and the system will automatically remove unclaimed files.
Mentors: Student: Nicola Pace
This project proposes the Scheduled ZIM Generation feature for the Kiwix WP1 Selections interface. It introduces an automated system that allows users to schedule periodic regeneration of ZIM files from their selections (like SPARQL or WikiProject-based). Currently, users must manually trigger ZIM generation, which leads to outdated content for dynamic sources. The new system enables users to set a frequency (monthly or quarterly) and a maximum number of regenerations (with a max. like 4), along with email notifications. A scheduling mechanism will run in the backend, checking for due tasks, queuing ZIM generation jobs in zimfarm, sending notifications, and cleaning up old files to manage storage. Key components (deliverables): - A Vue.js UI for configuring schedules, viewing status, and managing tasks. Flask-based REST API endpoints for handling schedule data and triggering generation. - A scheduler to automate task execution. - Email notifications and cleanup logic for outdated ZIMs. - Full test coverage and documentation for both users and developers.