master-list v0.1.0
Master List
An organizational list that leverages third-party APIs and displays information in a simple list.
Sometimes managing so many tasks can become overwhelming (eg. emails, agenda, tasks, social media, communications across multiple platforms). It is easy lose track of what needs to be done, when and how much you really need to do.
Master List is a node-based solution that runs on any machine within the command line. It features connecting to APIs via “providers” that can be configured to read relevant important information that the client may require.
Applications
- Communications: Monitoring incoming messages, emails, chats, etc.
- Notifications: Monitoring generic notifications from applications.
- Analytics: Live monitoring analytical applications (eg. Google Analytics, AWS CloudWatch, etc).
- Agenda: Display relevant Calendar appointments.
- To Dos and Issue Tracking: Show tasks on To Do lists or assigned Github/Atlassian Issues.
Example: Task list monitoring live data via Providers
Using Master List providers for tracking on a Rasberry Pi Zero connected to a monitor.
See printer repo: https://github.com/Zeyber/master-list-printer
Providers
Providers are third-party wrappers that provide a link between an API or website and a Master List application.
Available Providers
- AnkiWeb Flashcard Reminder - Informs when and which flashcards are due for revision.
- Facebook Messenger Unreads - See which contacts have unread messages.
- Github Issue Tracking - See which open issues are currently assigned to you.
- Google Gmail/Calendar/Tasks - Check unread emails, upcoming events or due tasks.
- Instagram Unreads - See which contacts have unread messages.
- System Details - Check system details like time, date, CPU and RAM usage.
Installation
Setup
- Install provider(s) with
npm install example-provider --save
. - Add provider to
setup.ts
by addingexample: new ExampleProvider()
to theproviderConfig
object. - Run with
npm start
.
Example config.ts setup with different types of providers.
export const providerConfig: ProviderConfig = {
// Simple provider with no options
example: new ExampleProvider(),
// Provider requiring credentials
example2: new ExampleProvider2({
user: process.env.username,
password: process.env.password
})
// Provider requiring authentication token
example3: new ExampleProvider3({
token: process.env.token
})
// Provider with other customizations
example4: new ExampleProvider4({
funMode: true
})
};