A Little node-Service to gather some information and make it avaiable on time. Everything is configurable.
Many Sources can be accessed.
If the One you are looking for is not here, feel free to make a pull-request or drop an issue.
- rss-feed (get some items from a feed)
- google-calendar (get some dates for today and some days)
- google-mail (get some mails in the inbox)
- weather (get weather for a location for today)
- date (get the Day and Date)
- todotxt (get Info from your Todo.txt form dropbox)
- twitter (get info from your twitter service)
- json (parse a json and get info from it)
- monitor (check if a server / url / port is alive)
- botd (get the blessing of the day from botd.webdad.eu)
- random-verse (get a random bible verse)
- losungen (get the daily verse from Herrnhut)
- google-photo (get some pictures based on some info)
- fussball (get table, games for all or a team (german football))
- on-this-day (get info for this day in history)
- life-is-more (get daily text from here)
Get Items from a Feed.
Options:
- url: The URL of the Feed
- count: How Many Items to fetch
Get the Date of today.
Options:
- format: The moment.js-Format of the Returned Date
Get Tasks from your todo.txt File in your Dropbox-Folder
Options:
- dropboxApiKey: An API Key for your Dropbox
- dropboxFolder: The Folder where the todo.txt File lives
- sort (optional): Sort the Tasks (date | due | prio | date,due | due,prio)
- dueToday (optional): Show only Tasks for today
- start (optional): start by Tasks number
- end (optional): end by Task Number
- context (optional): Only Tasks with this context
- project (optional): Only Tasks with this Project
The Information is presented per day.
But the data may be gathered more often, overwriting the daily dataset.
Just edit your config and set a cronjob. Done!
From the Users point of view there are two ways to get information:
- Active (Go on a Website, Read a RSS-Feed, Open an App)
- Passive (Receive an E-Mail, Get a Notification)
If the One you are looking for not here, feel free to make a pull-request or drop an issue.
These Options can be used (multi-select possible!)
- html (display a website with the info)
- xml (Have a XML ready)
- rss (An RSS-Feed with the Info)
- json (A JSON-File with the Info)
(You need to have the Service running or send the files to a webserver of your choice (via config))
Return a Website
Options:
- target: The File to write to
- title: The Title of the Website
Create an ongoing RSS-Stream
Options:
- target: The File to write to
- title: The Title of the Feed
- itemTitle: Title of any Item (can use %DATE% Variable)
- link: Link of the Feed
- description: Description for the Feed
- category: Category for the Feed
- language: Language of the Feed
- pubDate: First Publicaction date
- image: Feed image as png
- icon: Feed image as svg
- color: Feed color as hex
Just write the JSON-File to a file
Options:
- target: The File to write to
- mail (send an email)
- print (send to printer)
Send an E-Mail with your Dashboard
Options:
- mailOptions: Object with Server-Data
- mailOptions.host: Server-Host for Mailing
- mailOptions.port: port for Mailing
- mailOptions.auth: Auth-Data for Mail User
- mailOptions.auth.user: Mail User
- mailOptions.auth.pass: Mail user Password
- from: Send form this Account
- to: target E-Mail Adresses
- subject: Subject of the Mail (can use %DATE% Variable)
You may install the cli or the service
- CLI: `npm install -g my-dashboard'
- Service: s`git clone https://github.com/WebDaD/my-dashboard . && npm install
- CLI:
my-dashboard
- The Service needs to be started like
node index.js
(or preferebaly with a process manager like pm2)
The config.json may live in many places to suit your needs.
The sequence to look for is as follows (top beats bottom):
- Argument
- Home Directory (.my-dashboard.json)
- /etc/my-dashboard.json
- Enviroment-Variable MYDASHBOARD (points to a json file)
- config.json by index.js (service only)
There are many ways you can contribute ot this little project:
- review some codes
- improve tests
- write plugins for gathering data
- write plugins for publishing reports