/learndb

Curated learning resources with topics, formats, difficulty levels, expert reviews and metadata tags

Primary LanguageJavaScript

LearnAwesome

Visit the online version at https://learnawesome.org/ but you can also run it on your own machine.

This is a collection of learning resources organized by topics, formats, difficulty levels, and quality tags like visual / interactive / challenging etc. It also includes reviews from experts and metadata like paywall/loginwall to help you find the best resource for your learning goals.

For certain resources like research paper or books, there will be direct links thanks to projects like InternetArchive, LibGen, Arxiv, SciHub etc.

This requires us to build a giant taxonomy of all human knowledge. Arranging topics in a hierarchy is not sufficient. Instead we are creating a graph of topics and levels with multiple types of edges: "is-a-subtopic-of", "is-a-prerequisite-of" etc. If you are an expert or educator in some domain, you can contribute to this project via our GitHub repository.

In conjunction with this, we're also building an online game where this is presented as a skill-tree for life and allows you to chase ambitious life goals and keep track of your progress while inspiring and being inspired by your friends. More on this will be revealed soon.

To use:

Visit https://learnawesome.org/

image

image

image

Your bookmarks are saved in localStorage so be assured that no personal data is being tracked or saved on this site.

To contribute:

This is a Wikipedia-scale project and we could use all kind of help:

Architecture

There are no user accounts, no social features like learning feeds or ActivityPub. Users' bookmarks are saved in browser's localStorage.

The source data is in db/*.json files. The schema is described in db/README.md. For the front-end, we write Svelte components in src and generate bundle.js and bundle.css via npm run dev / npm run build.

For UI, we make use of TailwindCSS (currently loaded via CDN with some plugins) and Shoelace.Style. Whenever possible, we use Shoelace's existing components.

Build

We use Neutralino.js to generate native apps for Mac/Windows/Linux. Currently only the .app file (not .dmg) for Mac runs correctly.

neu build
mv dist/learndb/learndb-mac_x64 dist/learndb/learndb-mac_x64.app
chmod +x dist/learndb/learndb-mac_x64.app
appdmg ./appdmg.json dist/learndb/LearnDB.dmg