notiflyer

an inspiring and refreshing new way of sending KPIs, alerts, or simple tabular data as emails

https://github.com/cleancoda/notiflyer

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

an inspiring and refreshing new way of sending KPIs, alerts, or simple tabular data as emails

Basic Info
  • Host: GitHub
  • Owner: cleancoda
  • License: apache-2.0
  • Language: TSQL
  • Default Branch: development
  • Size: 222 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 63
  • Releases: 0
Created over 2 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

💎 notiflyer

an inspiring new way of sending KPIs, alerts, or simple tabular data as emails powered by chart.js by converting raw data into meaningful visual graphs and charts.

notiflyer is an attempt to prove that ETL operations can be left out from the presentation layer and focusing on the KPIs derived from said analytical operations by capturing and storing end values in simple sql objects (tables/views,etc.) in a statistical X/Y axis format.

last commit closed pull requests closed issues contributors stars license

🔥 features

  • automates overhead tasks for sql such as:
    • sql agent jobs, maintenance
    • error/run logging
    • db mail setup & configuration, etc.
  • data remains at core focus - leave the visualization logic to the application
  • extensive configuration settings 📚

📑 about

the principle of this project is simple - focus on data over logic.

the notiflyer project is determined in keeping the need for technical know-how to a bare minimum when it comes to setup, configuring and maintaining of the application/service; as most end-users will be focused on handling the business/analytics side, generating the logic, writing and conjuring KPI formulas; and not be so much interested in the code that generates the visuals itself.

a common trend, that is seen ever so more in use recently, is to utilize as many micro-services as possible to break down a complex business process or function into smaller, more manageable units, and each one having their own responsible stakeholder.

with such an approach, the amount of data being generated and stored within an organization has increased exponentially. each micro-service brings along it's own set of rules and data to the keep track of it's own place/history in the overall business workflow/function/process, that it is part of.

while that might sound redundant and unnecessary, it provideds an opportunity to tap into these databases and generate your own metrics based on the data the micro-services may have generated so far, that could give you a better picture of how the workflow is performing.

if this metric deriving data is properly extracted, transformed and loaded, a variety of visual graphs/charts can be generated, giving you game changing insights that you otherwise would not have noticed or even cared for.

most entities have started realizing the potential of historical data that has accumulated on their servers over years of usage, but do not know where to start slicing or dicing them.

generating complex dashboards using tools like Microsoft Power BI, Tableau or even running mathematical/statistical functions in Pandas using Python for example, would be overkill and in most cases, a waste of time, as it may or may not relate directly to your core/truth source of data in your enterprise.

however, consider given the ability to independently tap into said service database(s), and have the tools to quickly and easily generate visuals, graphs and charts that somehow describe a part of your entity's workflow as a snapshot, when if chained together with other such similar datasets, it could potentially describe the entire working of an entity as a snapshot, and could even be automatically sent to you in an email.

this is where notiflyer shines.

🖼️ design principles & architecture

notiflyer helps you convert your transformed (etl completed prior) data into a more "visual" representation using graphs/charts, adding colors, cleaning up data-types, generating legend-boxes, etc. to represent the plot points/values, describing a quick story of whatever metric you're looking at. all of this can be achieved by notiflyer, while you get to focus on writing efficient queries.

consider the following structured query language script (example aims to be db-vendor agnostic), a simple query that fetches the count of orders, summarized by the order date.

sql select year(DueDate) as as [year] ,count(ProductID) as [totalorders] from AdventureWorks.Production.WorkOrder where year(DueDate) > 2019 and year(DueDate) < 2023 group by year(DueDate) order by [year];

the query can be passed to notiflyer "as-is" and it can generate a quick and easy visual chart such as:

the above example shows a bar chart representation of the number of orders a company received by date - a much cleaner way to describe a "story" about your data, while recognizing critical "trends" in your day-to-day operations.

after dealing with several kinds (vendor) of databases, enterprise resource planning softwares, and innumerable software-as-a-service programs over the years, one can appreciate the need for simplicity and having the ease of "knowledge-transfer", especially when it comes to adding yet another piece of software/technology to your existing business workflow task/stack.

notiflyer aims to have a number of features, but the one that matters most is Ease of Use.

imagine the limitless & potential applications of such a service; from a complex business workflow to a simple reminder, it can do it all.. the best part is, you get to drive and be in control of your own data.

🏗️ setup

  • TODO - add setup guide

👩‍🏫 documentation

  • TODO - convert documentation to wiki

----

🗺️ roadmap

  • TODO - add roadmap/planned-features/release-cycles

🙋 contribute

  • TODO - add contribution guide

🪸 log

  • 10092023_cleancoda - added basic structure to readme.md
  • 10142023_cleancoda - reorganized readme.md structure

Owner

  • Name: cleancoda
  • Login: cleancoda
  • Kind: user
  • Location: USA

Citation (CITATION.cff)

cff-version: 1.2.0
title: notiflyer
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Pranav
    family-names: Shirodkar
    email: pranav.shirodkar@protonmail.com
repository-code: 'https://github.com/cleancoda/notiflyer'
abstract: >-
  an inspiring and refreshing new way of sending KPIs,
  alerts, or simple tabular data as emails
keywords:
  - sql
  - charts
  - graphs
  - visuals
  - email
license: Apache-2.0

GitHub Events

Total
  • Issues event: 1
  • Push event: 2
Last Year
  • Issues event: 1
  • Push event: 2

Dependencies

services/mssql/docker-compose.yml docker
  • mcr.microsoft.com/mssql/server 2022-latest