If you plan to work on CueObserve code and make changes, this documentation will give you a high level overview of the components used and how to modify them.
CueObserve has multi-service architecture, with services as mentioned:
git clone https://github.com/cuebook/CueObserve.git
docker-compose -f docker-compose-dev.yml --env-file .env.dev up --build
docker-compose's build command will pull several components and install them on local, so this will take a few minutes to complete.
The code for the backend is in
/apidirectory. As mentioned in the overview it is based on Django framework.
Configure environment variables as you need for the backend server :
## DB SETTINGS
## SUPERUSER'S VARIABLE
export DJANGO_SUPERUSER_EMAIL="[email protected]"
Change the values based on your running PostgreSQL instance. If you do not wish to use PostgreSQL as your database for development, comment lines 4-8 and CueObserve will create a SQLite database file at the location
CueObserve uses Celery for executing asynchronous tasks like anomaly detection. There are three components needed to run an asynchronous task, i.e. Redis, Celery and Celery Beat. Redis is used as the message queue by Celery, so before starting Celery services, Redis server should be running. Celery Beat is used as the scheduler and is responsible to trigger the scheduled tasks. Celery workers are used to execute the tasks.
At the moment, we have test cases only for the backend service, test cases for UI are in our roadmap.