https://github.com/webdad/my-dashboard
Webbased personal dashboard. Fork to make it your own!
https://github.com/webdad/my-dashboard
Last synced: 8 months ago
JSON representation
Webbased personal dashboard. Fork to make it your own!
- Host: GitHub
- URL: https://github.com/webdad/my-dashboard
- Owner: WebDaD
- License: unlicense
- Created: 2018-10-01T06:48:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-12T15:11:15.000Z (about 7 years ago)
- Last Synced: 2025-01-18T16:39:34.486Z (over 1 year ago)
- Language: JavaScript
- Size: 829 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# my-dashboard
A Little node-Service to gather some information and make it avaiable on time.
Everything is configurable.
## Gathering
### What
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.
- [x] 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)
- [x] date (get the Day and Date)
- [x] 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)
#### rss-feed
Get Items from a Feed.
Options:
- url: The URL of the Feed
- count: How Many Items to fetch
#### date
Get the Date of today.
Options:
- format: The moment.js-Format of the Returned Date
#### todotxt
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
### When
The Information is presented per day.
But the data may be gathered more often, overwriting the daily dataset.
### How
Just edit your config and set a cronjob. Done!
## Publishing
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.
### Active
These Options can be used (multi-select possible!)
- [x] html (display a website with the info)
- [ ] xml (Have a XML ready)
- [x] rss (An RSS-Feed with the Info)
- [x] 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))
#### html
Return a Website
Options:
- target: The File to write to
- title: The Title of the Website
#### rss
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
#### json
Just write the JSON-File to a file
Options:
- target: The File to write to
### Passive
- [x] mail (send an email)
- [ ] print (send to printer)
#### mail
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)
## Installation
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
## Usage
- CLI: `my-dashboard`
- The Service needs to be started like `node index.js`(or preferebaly with a process manager like pm2)
## Configuration
The config.json may live in many places to suit your needs.
The sequence to look for is as follows (top beats bottom):
1. Argument
2. Home Directory (.my-dashboard.json)
3. /etc/my-dashboard.json
4. Enviroment-Variable MYDASHBOARD (points to a json file)
5. config.json by index.js (service only)
## Development
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