Skip to content

Simple django application to collect time series data and display it using customizable graphs

License

Notifications You must be signed in to change notification settings

vabene1111/DjangoGraphs

Repository files navigation

Django Graphs

Django Graphs is a free and open source Django application that allows collection and visualization of any kind of time series data.

Dashboard

Features

  • Collect time series data trough a fully featured REST API courtesy of the Django Rest Framework
  • Visualize your Data using Graphs
  • Create displays to show most recent data
  • Permission System with multiple access levels
    • Secure API endpoints using either session, basic or token authentication
    • Attribute to make Graphs/Displays public
    • Viewer group that can only view graphs/displays
    • User group that can edit/delete graphs/displays/selectors/types/instances and post data
  • Localization support (currently English and German available)

Usage

The usage is pretty straight forward after understanding a few basic concepts

  • Data Entries are created via the API. They consist of a (automatic) timestamp and a type, instance and value.
  • Types define of which type a data entry is (Basically its name and unit).
  • Instances are used to differentiate between data sources. For example if measuring temperature one instance could be outside and one
  • Graph Selectors are basically the lines of a graph. By defining a type and instance the data entries are filtered and then displayed in the graph.

Usage of the API is explained in the build in API Docs. If used from anywhere else than the API browser you basically need to supply authentication (either basic or token) and a json body containing a type, instance and value.

Installation

You can use the included docker compose template either as a standalone or in combination with traefik. The process is basically the same as here

If you want to install it without docker you can follow a tutorial like this one, note that you have to manually set the environment variables in the .env.template file.

Updating

ALWAYS backup your database before updating!

To update using the default settings simply git pull and run sh update.sh.

Some updates might require to rebuild the container if new requirements where added.

Postgresql container updates can cause database incompatibilities. To update create a db dump before updating and import it afterwards.

License

See LICENSE.md for licensing information.

About

Simple django application to collect time series data and display it using customizable graphs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published