Ocular Architecture
Ocular Directory Structure
An overview of Ocular project directory structure.
Overview
- env.dev - Template holding all enviroment variables needed when running Ocular in development mode.
- env.local - Template holding all enviroment variables needed when running Ocular in Docker
apps
- Holds all the app definitions in Ocular.
ocular-model-server
- Holds a server running ocular embedding and inference models.
ocular-telemetry
- Holds a package to track telemtry metrics in Ocular.
ocular-ui
- Ocular’s UI containing the User interface and Admin dashboards.
ocular
ocular/src
- api - Holds all API Routes in Ocular.
- approaches - Holds all the AI Search and Chat approaches.
- loaders - Holds scripts that run when the Ocular backend starts.
- migrations - Holds all migration scripts that reflect changes on the database the Ocular is connected to.
- models - Holds all the custom entities, which represent tables in your database.
- repositories - Holds all custom repositories which provide utility methods to access and modify data related to an entity.
- services - Holds all custom services which define utility methods related to an entity or feature that can be used across the Ocular.
- subscribers - Holds all subscribers that listen to emitted events and registers method to handle them.
- types - Holds all the type definitions unique to Ocular backend.
- utils - Holds all the utils unique to Ocular backend.
- main.ts - Holds on the logic to start Ocular.
ocular/root
- Dockerfile.dev - Docker configuration for Ocular running in Dev mode.
- Dockerfile.local - Docker configuration for Ocular running in Docker fully.
- core-config-dev.js - Config file for Ocular running in Dev mode.
- core-config-local.js - Config file for Ocular running in fully in Docker.
- index.d.ts - Type definitions for Ocular.
- .env.dev - Enviroment variables for Ocular running in Dev mode.
- .env.local - Enviroment variables for Ocular running in Docker.
plugins
- Holds all the plugins that can be used in Ocular.
types
- Holds all the type definitions shared across Ocular.
utils
- Holds the util libraries that are shared between all of the Ocular enviroment.