When working on a pet project or on hackathons, people usually use their favorite stack. After a few pet projects, this gets boring and it becomes hardly about learning new things than just solving problems. Opium is an attempt to solve the problem of discovery of new languages/framework.
While learning a new language/framework the major issues are:
- Discovery of a new technology.
- Resources to know more about the technology.
- Complete implementations of other people who have worked on the same technology (ie standing on the shoulder of giants).
Opium solves these three major entry barriers in the following manner:
Users can submit new technologies by sending in PRs. The data about technologies is saved as simple text format. So adding your favorite technology is just a matter of you adding the data to the correct file in the
lib/infofolder, and you're good to go. Other people being able to submit their favorite technologies ensures that the list is kept updated by the community.
Among the data submitted while accepting a new technology are things like documentation URL, link to the Wikipedia article, and other links. These links can be edited by the community to be definitive links to learn that technology.
A person who has completed a project using a specific set of technologies can submit his solution through a PR and allow others to use the program to learn the technology better. One could even build a community around this.
Outside programming, this application can be used in learning new things in a random fashion.