Coldreader is a casual, personal databasing system.
It may be helpful to think of it as something half-way between an mindmap and a private wiki. I use it in place of Evernote, as a personal information management tool. Out of the box, it may seem a little trivial, but once you start building it out with your own custom Aspects, you'll find that there's really no other tool like it.
It makes no assumptions about what kind of information you want to keep track. In Coldreader, there are essentially two kinds of things: Subjects, and Aspects.
A Subject can contain an arbitrary number of Aspects. Aspects are like a single piece of content. That may be text, an image, an API result, and so forth. By itself, a basic Aspect just stores its information as text in the database. But you can extend simple aspects with a little bit of code so that they can behave however you like. By modifying the boilerplate with your own logic, you can retrieve API results, perform a calculation, whatever you like. For more information, see Developing Custom Aspects below.
This is the open-source version. It is configured to support a single user, and includes some tools to make it easy to customize the system for your own uses.
- Project management system
- Personal CRM system
- Build custom dashboards to track subjects of interest
- Manage your collection of media
- Track your notes and references as you research new things
- Create a knowledgebase of problems you have previously solved
- Keep a library of your favorite recipes
- API test bed - quickly add new features by implementing an API and using your exising data
- Organize your data however you like
- PHP 7.2+
- Composer (tested with version 1.6.4) If you're planning to develop with Coldreader, you'll need Node and NPM for Webpack/Vue.JS support.
- Node.JS (tested with version 8.9.4)
- npm (tested with version 5.6.0)
Coldreader is based on Laravel 5.6, and requires a server that is capable of serving a Laravel project.
For specific information about server requirements, see the Laravel docs.
The Homestead vagrant box works just fine with Coldreader, and you can try it out in your local environment with no risk. For more information about using Laravel Homestead, check out their fantasic documentation.
Once you have an environment set up, you'll want to create a directory to hold the project, and an empty database. Make sure you note the credentials you set up for the database to make installation easy.
The simple way to install everything is to use Composer. If you plan on developing with Coldreader, you are encouraged to use the Git method.
$ cd /wherever/you/want/to/install/ $ composer create-project imonroe/coldreader .
Follow the prompts.
$ cd /wherever/you/want/to/install/ $ git clone https://github.com/imonroe/coldreader.git .
Wait for the installation to complete. Then run:
$ php firstrun.php
Follow the prompts.
The configuration script will ask if you'd like to install the npm dependencies. If you are planning on developing with Coldreader, you may want to do that now. It can take some time, however, and can safely be skipped if you're just trying out the software.
Installing additional add-ons
One of the nice things about Coldreader is that it's easy to create new Aspect Types and Search Providers to accomodate different kinds of data, and different ways of displaying it. There are some Aspect Types already available to try.
To install Coldreader add-on packages, use composer:
$ composer require <vendor>/<package_name> $ composer update
Some add-on packages may require additional configuration. Consult the package repo for details for any individual add-on.
Add-ons currently available:
- COMING SOON!
Developing with Coldreader
For instructions and examples for how to get started developing with Coldreader, please see the wiki.
Please see CHANGELOG for more information on what has changed recently.
$ composer test
If you discover any security related issues, please email firstname.lastname@example.org instead of using the issue tracker.
GPL V3. Please see License File for more information.