Skip to content

A transition platform for open source code and online coding tutorials. Providing an interface for new developers to learn to read other people's code while simultaneously contributing better documentation in open source software.

License

Notifications You must be signed in to change notification settings

eth-library-lab/filsat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETH Library LAB logo

Filsat - A transition platform for open source code and online coding tutorials.

An Initiative for human-centered Innovation in the Knowledge Sphere of the ETH Library Lab.

Abstract

Over the last years, open source software has successively replaced proprietary software and now runs on almost every major system. Open source software has become digital public infrastructure and as a consequence the amount and size of open source software projects have increased.

Due to its abundance, the main concern with open source software has shifted from availability to usability. Missing or bad code documentation makes good code hard to use and as a consequence users spend too much time trying to understand the software they run. However, documentation is not a priority for most developers and often hardly understandable or even non- existent.

On the other hand, developers need to be increasingly able to read and understand other people’s code, which is due to the increasing size of software projects and the collaborative nature of open source software. Reading foreign code, however, is not an easy task and should be taught and practiced in a structured way. Unfortunately, most coding tutorials and courses focus on code- creation and do not teach aspiring programmers how to efficiently parse and understand other people’s code.

Filsat aims at solving both issues simultaneously, providing a transition platform for open source code and online coding tutorials. The platform provides a standardised interface for loading up and requesting code, thus enabling a code flow from open source projects towards online learning tutorials. The uploaded open source code is requested by the tutorials and integrated into the learning experience as reading exercises. Once the code is understood, the learners write the documentation they would have needed in order to understand the code right-away. As a final step the documentation is provided back to the open source projects where it is integrated.

This approach benefits open source projects as well as the people writing the documentation. For projects without documentation, it is written, whereas the documentation for projects with prior documentation is improved. Code learners learn how to read other people’s code and solidify their understanding by writing down their newly acquired knowledge.


Solution Approach

Table of contents

Getting Started

This prototype is split in the following three distinct layers:

Layer Description Language
api A GraphQL API for the server side Python
sender A server side batch to create and send the documentation as Pull Requests NodeJS
demo A demo application for tasks creation and edition StencilJS

Blog

Some related blog posts published along the project by Magnus Wuttke.

Contact

For any inquiries, use the ETH Library Lab contact form.

License

MIT

About

A transition platform for open source code and online coding tutorials. Providing an interface for new developers to learn to read other people's code while simultaneously contributing better documentation in open source software.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published