Subtopics
This outline describes the subtopic structure of the Anthias codebase.
Anthias Diagram Overview
This document is a visual representation of how the Anthias codebase interacts with other services, using a diagram format.
docs/d2/anthias-diagram-overview.d2
Nginx
Anthias uses Nginx as a reverse proxy to serve assets.
docs/d2/anthias-diagram-overview.d2
Anthias Server
Anthias Server is responsible for the primary core logic of Anthias, including asset processing and delivery, as well as managing various configurations.
docs/d2/anthias-diagram-overview.d2
Anthias Websocket
Anthias Websocket is used for communication between the Anthias server and the Anthias viewer.
docs/d2/anthias-diagram-overview.d2
Anthias Celery
Anthias Celery is a background task queue system used for tasks like asset processing, which can be heavy and slow.
docs/d2/anthias-diagram-overview.d2
Redis
Redis is used for caching and managing temporary data in Anthias.
docs/d2/anthias-diagram-overview.d2
Anthias Viewer
Anthias Viewer is the software responsible for displaying assets on a monitor or TV.
docs/d2/anthias-diagram-overview.d2
Asset View
The Asset View is a Backbone.js view that allows users to interact with assets.
Styles
This folder contains the Sass styles for the Anthias application, including buttons, switches, splash screen styles, and terminal styles.
Website
The Anthias Website is hosted on GitHub and its source code is available here.
Developer Documentation
This section provides further information and resources for developers working with Anthias.
Migrating Assets from Anthias to Screenly
This section provides instructions on how to move assets from Anthias to Screenly.
Backbone.js
Backbone.js is a JavaScript library that provides a framework for structuring web applications.
static/js/backbone-0.9.10.min.js
Underscore.js
Underscore.js is a JavaScript library that provides utility functions for working with collections and objects.
static/js/underscore-1.4.3.min.js
Asset Model
The Asset model is a Backbone.js model that represents an asset in the Anthias system.
Assets View
The Assets View is a Backbone.js view that displays a list of assets.
Timepicker CSS
This file contains the CSS styles for the timepicker component used in Anthias.
Hotspot Template
This template defines the structure of a hotspot page within Anthias.
FontAwesome CSS
This file contains the CSS styles for FontAwesome icons used in Anthias.
static/fontawesome/css/svg-with-js.css
Color SVG
This file contains the SVG image for the Anthias color palette.
## Top-Level Directory Explanations
<a class='local-link directory-link' data-ref=".github/" href="#.github/">.github/</a> - This directory contains GitHub-specific configuration files and workflows for the project.
<a class='local-link directory-link' data-ref=".github/workflows/" href="#.github/workflows/">.github/workflows/</a> - This directory contains YAML files defining continuous integration and deployment workflows for GitHub Actions.
<a class='local-link directory-link' data-ref="ansible/" href="#ansible/">ansible/</a> - Ansible is an open-source configuration management and automation tool. This directory contains Ansible playbooks and roles for managing and configuring the project.
<a class='local-link directory-link' data-ref="ansible/roles/" href="#ansible/roles/">ansible/roles/</a> - This directory contains Ansible roles, which are reusable collections of tasks and configurations for managing specific aspects of a system.
<a class='local-link directory-link' data-ref="ansible/roles/system/" href="#ansible/roles/system/">ansible/roles/system/</a> - This role manages system-level configurations.
<a class='local-link directory-link' data-ref="anthias_app/" href="#anthias_app/">anthias_app/</a> - This directory contains the main application codebase for the project, likely written in Django.
<a class='local-link directory-link' data-ref="anthias_app/migrations/" href="#anthias_app/migrations/">anthias_app/migrations/</a> - This directory contains database migration files for the Django application.
<a class='local-link directory-link' data-ref="anthias_django/" href="#anthias_django/">anthias_django/</a> - This directory may contain additional Django-specific configuration files and code.
<a class='local-link directory-link' data-ref="api/" href="#api/">api/</a> - This directory contains the API codebase for the project.
<a class='local-link directory-link' data-ref="bin/" href="#bin/">bin/</a> - This directory contains executable scripts for the project.
<a class='local-link directory-link' data-ref="lib/" href="#lib/">lib/</a> - This directory contains reusable Python modules and libraries for the project.
<a class='local-link directory-link' data-ref="static/" href="#static/">static/</a> - This directory contains static files, such as images, CSS, and JavaScript, that are served directly to the user by the web server.
<a class='local-link directory-link' data-ref="static/css/" href="#static/css/">static/css/</a> - This directory contains CSS files.
<a class='local-link directory-link' data-ref="static/fontawesome/" href="#static/fontawesome/">static/fontawesome/</a> - This directory contains Font Awesome icons and styles.
<a class='local-link directory-link' data-ref="static/fontawesome/css/" href="#static/fontawesome/css/">static/fontawesome/css/</a> - This directory contains Font Awesome CSS files.
<a class='local-link directory-link' data-ref="static/js/" href="#static/js/">static/js/</a> - This directory contains JavaScript files.
<a class='local-link directory-link' data-ref="static/spec/" href="#static/spec/">static/spec/</a> - This directory contains test files for the static files.
<a class='local-link directory-link' data-ref="static/spec/jasmine/" href="#static/spec/jasmine/">static/spec/jasmine/</a> - This directory contains Jasmine test files.
<a class='local-link directory-link' data-ref="templates/" href="#templates/">templates/</a> - This directory contains HTML templates used to render dynamic content.
<a class='local-link directory-link' data-ref="tests/" href="#tests/">tests/</a> - This directory contains test files for the project.
<a class='local-link directory-link' data-ref="tools/" href="#tools/">tools/</a> - This directory contains tools and scripts used to develop and maintain the project.
<a class='local-link directory-link' data-ref="tools/image_builder/" href="#tools/image_builder/">tools/image_builder/</a> - This tool likely builds and optimizes images for the project.
<a class='local-link directory-link' data-ref="website/" href="#website/">website/</a> - This directory contains the website codebase.
<a class='local-link directory-link' data-ref="website/assets/" href="#website/assets/">website/assets/</a> - This directory contains website assets, such as images, CSS, and JavaScript.
<a class='local-link directory-link' data-ref="website/assets/styles/" href="#website/assets/styles/">website/assets/styles/</a> - This directory contains website styles.
<a class='local-link directory-link' data-ref="website/bin/" href="#website/bin/">website/bin/</a> - This directory contains website executable scripts.
<a class='local-link directory-link' data-ref="webview/" href="#webview/">webview/</a> - This directory likely contains configuration files and code for a webview component.