.. _getting_started:

Getting started
=================================

FlexMeasures is useful from different perspectives. The documentation is quote vast, so we give you some pointers here what to read first, based on your perspective.


Using FlexMeasures
--------------------

You are connecting to a running FlexMeasures server, e.g. for sending data, getting schedules or administrate users and assets. 

First, you'll need an account from the party running the server. Also, you probably want to:

- Look at the UI, e.g. pages for :ref:`dashboard` and :ref:`admin`.
- Read the :ref:`api_introduction`.
- Learn how to interact with the API in :ref:`tut_posting_data`.


Hosting FlexMeasures
---------------------

You want to run your own FlexMeasures instance, to offer services or for trying it out. You'll want to:

- Have a first playful scheduling session, following :ref:`tut_toy_schedule`.
- Get real with the tutorial on :ref:`installation`.
- Discover the power of :ref:`cli`.
- Understand how to :ref:`deployment`.


Plugin developers
------------------

You want to extend the functionality of FlexMeasures, e.g. a custom integration or a custom algorithm:

- Read the docs on :ref:`plugins`.
- See how some existing plugins are made `flexmeasures-entsoe <https://github.com/SeitaBV/flexmeasures-entsoe>`_ or `flexmeasures-openweathermap <https://github.com/SeitaBV/flexmeasures-openweathermap>`_
- Of course, some of the developers resources (see below) might be helpful to you, as well.

.. warning:: Please read :ref:`note_on_datamodel_transition`.


Core developers
----------------

You want to help develop FlexMeasures, e.g. to fix a bug. We provide a getting-started guide to becoming a developer at :ref:`developing`.

