Skip to content

Latest commit

 

History

History
231 lines (143 loc) · 7.13 KB

File metadata and controls

231 lines (143 loc) · 7.13 KB

Google Summer of Code 2016 – BuildmLearn Toolkit

Google Summer of Code 2016

My proposal for Improve existing BuildmLearn Toolkit app and add new templates to it was selected for Google Summer of Code 2016. I worked with the organisation BuildmLearn under the mentorship of Pankaj Nathani (@croozeus) and Neha Dhanwani (@NehaDhanwani).


About BuildmLearn Toolkit

BuildmLearn Toolkit is an easy-to-use Android based system that allows users to create mobile learning applications without knowledge of Android development. Teachers can provide educational content and automatically generate customized learning applications.

Instead of manually coding apps, the toolkit converts structured educational content into a functional Android application.


System Architecture

The BuildmLearn Toolkit functions as a template-driven application generator platform, not a single mobile application.

Workflow pipeline:

Teacher Content → Template Engine → Android Project Generation → Gradle Build → APK

Workflow Explanation

  1. Teacher enters learning material (questions, spelling words, videos, dictation audio).
  2. The template engine processes the structured content.
  3. An Android project is automatically created.
  4. Resources and layouts are injected into the project.
  5. The project is compiled into a distributable APK file.

This allows non-programmers to produce deployable Android educational applications.


Template Engine Design

The core of the toolkit is the template engine.

Templates define behavioral learning interactions, not just UI layouts.

Each template represents a learning model:

Template Interaction Model
Quiz Question-answer state machine with scoring
Match Pair-mapping validation logic
Dictation Audio playback with text accuracy comparison
Flashcards Sequential memory reinforcement
Video Collection Structured multimedia learning module
Comprehension Passage-based assessment logic

The engine maps:

content fields → interaction logic → UI components

Therefore, the toolkit is effectively a learning-interaction framework rather than a static application.


APK Generation Workflow

A major contribution of this project was enabling automatic Android application creation.

The toolkit programmatically generates a complete Android project:

  1. Creates Android project directory

  2. Assigns unique package name

  3. Inserts resources:

    • images → /res/drawable
    • audio → /res/raw
    • text → strings.xml
  4. Updates Android Manifest

  5. Runs Gradle build

content → resources → project files → compile → signed APK

This turns the toolkit into a no-code mobile app compiler, allowing teachers to create and distribute Android apps without Android Studio or programming knowledge.


Continuous Integration and Code Quality

Problem Before

  • Manual builds
  • Late detection of template errors
  • Unstable releases

Implemented Solutions

  • Travis CI for automated builds
  • Codacy for static code analysis and quality monitoring

Effect

Every commit is automatically built and validated. Template failures and code issues are detected early, improving long-term maintainability and project stability beyond the GSoC period.


Impact of the Contribution

The contribution changed the toolkit from a prototype into a platform.

Before:

  • Teachers required an Android developer to create an educational app.

After:

  • Teachers can independently generate learning apps.

Key outcomes:

  • Reduced technical barrier to educational app creation
  • Faster deployment of learning applications
  • Reusable templates enabling unlimited apps
  • Improved scalability of the project
  • Sustainable open-source maintenance through CI

Task Goals Completed

  • Addition of new Comprehension Template and its app
  • Addition of new VideoCollection Template and its app
  • Addition of new Dictation Template and its app
  • Addition of new Match Template and its app
  • Improving design of InfoTemplate simulator and app
  • Improving design of Learn Spelling Template simulator and app
  • Improving design of Flash Card Template simulator and app
  • Improving design of Quiz Template simulator and app
  • Creation of APK generation system for all templates
  • Integration of Travis CI automated build system
  • Integration of Codacy automated code quality monitoring
  • Bug fixing and code improvement
  • Documentation improvements

Key Technical Contributions

  • Extended template-based app generation platform
  • Enabled automatic APK generation
  • Introduced CI pipeline for build stability
  • Improved maintainability of toolkit codebase

Repositories Contributed To


Commits

Toolkit Repository Contributions https://github.com/BuildmLearn/BuildmLearn-Toolkit-Android/commits?author=opticod

Contributions

Templates Repository Contributions https://github.com/BuildmLearn/Toolkit-mobile-templates/commits?author=opticod

Template Contributions


Releases

Toolkit: https://github.com/BuildmLearn/BuildmLearn-Toolkit-Android/releases

Templates: https://github.com/BuildmLearn/Toolkit-mobile-templates/releases


UI Designs and Generated Apps

(Existing screenshots retained as visual proof of generated applications)

Comprehension Template

Comprehension Template

Comprehension App

Comprehension App

Video Collection

Video

Dictation

Dictation

Match Template

Match

Flashcards

Flashcards

Quiz

Quiz


Conclusion

This project demonstrates how a template-driven architecture can convert structured educational content into fully deployable Android applications. The BuildmLearn Toolkit now functions as a scalable platform for generating customized learning apps and continues to support future contributions from the open-source community.

I thank my mentors and the Google Summer of Code program for the opportunity and guidance.