Skip to content

0dataapp/0data

Repository files navigation

Project logo

Own your data, all of it.

Data compiled automatically from the following locations:

Apps

Metadata Source
Icon <link rel="apple-touch-icon" href="ICON_URL_HERE" /> on the app website or icons from the manifest

Protocols

Tools

Events

Architecture

The project follows a Universal folder structure and is a large collection of mostly small modules or functions. With the exception of a few 'global' or 'magic' things such as the localization function OLSKLocalized, most resources used by a module should be in the same folder or referenced by path name.

Routing, rendering markdown content, and serving pages is done via a Node.js server (usually configured in the controller.js files).

Development Setup

(For a deeper dive, watch the tutorial).

Install Node.js and npm, then:

npm run setup

This should create an .env file if there is none. If you encounter errors referring to this file, you can find missing variables in .env-sample.

Running

npm start

It should be accessible at http://localhost:3000.

Testing

See Testing logic and interfaces for a tutorial.

Run logic tests

npm test 

Run interface tests

npm test ui

To filter interface test paths by string:

npm test ui match=vitrine

To filter interface test paths by JavaScript regular expressions:

npm test ui match='/(list|robots)/'

❤️

Help me keep creating projects that are public, accessible for free, and open-source.

Become a backer

License

The code is released under a Hippocratic License, modified to exclude its use for surveillance capitalism and also to require large for-profit entities to purchase a paid license.

Questions

Feel free to reach out on Mastodon or Twitter.