Skip to content

Glossary

This glossary defines key terms and concepts used throughout the Veea system documentation.

A

AI (Artificial Intelligence) The simulation of human intelligence processes by machines, especially computer systems. In the context of Veea, AI refers to the machine learning models used for audio analysis, transcription, and sentiment analysis.

AiConfigCubit The global state management component responsible for handling AI configuration and settings across the application. It manages AI model parameters, processing settings, and feature toggles.

API (Application Programming Interface) A set of protocols and tools for building software applications. In Veea, APIs are used for communication between the client application and backend services.

Authentication The process of verifying the identity of a user or system. In Veea, authentication ensures that only authorized users can access the application and their data.

B

BLoC (Business Logic Component) A design pattern for separating business logic from the presentation layer. BLoC helps manage state in a predictable and testable way.

Bit Depth The number of bits of information in each sample of audio data. Higher bit depth provides greater dynamic range and better audio quality.

C

Clean Architecture An architectural pattern that separates the software into layers with clear dependencies. The inner layers contain business logic, while outer layers contain implementation details.

Cubit A simplified implementation of the BLoC pattern that reduces boilerplate code while maintaining the same benefits of state management.

Codec A device or computer program that encodes or decodes a digital data stream or signal. In audio processing, codecs are used to compress and decompress audio files.

D

Dependency Injection A technique where one object supplies the dependencies of another object. This promotes loose coupling and makes the code more testable and maintainable.

Domain Layer The innermost layer of Clean Architecture that contains business logic and entities. It is independent of frameworks and external concerns.

Dart The programming language used for developing Flutter applications. Dart is an object-oriented, class-based language with C-style syntax.

E

Entity An object that represents a business concept in the domain layer. Entities contain only business logic and rules.

Equatable A Dart package that provides value equality for objects. It's used to compare objects based on their values rather than their references.

F

FFI (Foreign Function Interface) A mechanism that allows code written in one programming language to call code written in another language. In Veea, FFI is used to call native code from Dart.

Flutter An open-source UI software development kit created by Google for building natively compiled applications for mobile, web, and desktop from a single codebase.

Format The structure and encoding of an audio file. Common formats include WAV, MP3, AAC, and FLAC.

G

GetIt A service locator for Dart and Flutter that provides dependency injection capabilities.

Go Router A declarative routing package for Flutter that handles navigation and deep linking.

H

Hive A lightweight and fast key-value database written in pure Dart. It's used in Veea for simple data storage needs.

HTTP (Hypertext Transfer Protocol) The foundation of data communication for the World Wide Web. In Veea, HTTP is used for API communication.

I

Injectable A code generation package that simplifies dependency injection setup with GetIt.

Interface A contract that defines a set of methods and properties that a class must implement.

L

Lazy Singleton A dependency injection scope where a single instance is created on first use and then reused for subsequent requests.

Local Data Source A component that handles data storage and retrieval from local storage mechanisms like databases or file systems.

M

Model A class that represents data structures in the application. Models are typically used in the data layer to map between external data formats and internal entities.

Module A self-contained unit of functionality that groups related code. In Veea, modules represent major features like authentication and recording.

N

Navigation The process of moving between different screens or pages in an application.

Network Info A service that provides information about the network connectivity status of the device.

P

Presentation Layer The outermost layer of Clean Architecture that contains UI components, widgets, and state management.

Provider A dependency injection and state management solution for Flutter applications.

Pub The package manager for the Dart programming language. It's used to manage dependencies in Flutter projects.

R

Recording The process of capturing audio data from a microphone or other input source.

Remote Data Source A component that handles data retrieval from remote sources like APIs or web services.

Repository A design pattern that mediates between the domain and data layers. Repositories provide a clean interface for data access.

Result A type that represents either a successful value or an error. It's used for error handling in a functional way.

rinf A Rust-Dart FFI binding library that enables seamless integration between Rust and Dart code, providing high-performance native code execution for Flutter applications.

S

Sample Rate The number of samples of audio carried per second, measured in Hertz (Hz). Higher sample rates provide better audio quality.

Service Locator A design pattern that provides a global registry for services and their implementations.

Singleton A design pattern that restricts a class to a single instance throughout the application.

State Management The process of managing the state of an application over time. In Flutter, state management determines how the UI responds to changes in data.

Stream A sequence of asynchronous events. In Dart, streams are used for handling data that arrives over time.

T

Token A piece of data that represents the authorization to access specific resources. In authentication, tokens are used to maintain user sessions.

Transcription The process of converting spoken language into written text.

Use Case A class that encapsulates a specific business operation or use case in the domain layer.

U

Unit Test A type of software testing where individual components or functions are tested in isolation.

User An entity that represents a person who uses the Veea application.

V

Validation The process of ensuring that data meets certain criteria or constraints.

Value Object An object whose equality is based on its values rather than its identity.

W

Widget The basic building block of Flutter UI. Everything in a Flutter application is a widget.

Widget Test A type of software testing that tests individual widgets in isolation.

X

XML (eXtensible Markup Language) A markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.

Acronyms

Acronym Full Form Description
API Application Programming Interface A set of protocols for building software applications
BLoC Business Logic Component A design pattern for state management
DI Dependency Injection A technique for supplying dependencies to objects
FFI Foreign Function Interface A mechanism for calling code from other languages
HTTP Hypertext Transfer Protocol A protocol for data communication on the web
JSON JavaScript Object Notation A lightweight data interchange format
REST Representational State Transfer An architectural style for designing networked applications
SDK Software Development Kit A collection of tools for developing software
UI User Interface The visual elements of an application
UX User Experience The overall experience of a person using an application
WAV Waveform Audio File Format An audio file format for storing waveform data
XML eXtensible Markup Language A markup language for encoding documents