A comprehensive web application server framework for Dart.
The FinchApp class provides a complete HTTP server implementation with
built-in support for routing, database connectivity (MongoDB and MySQL),
WebSocket management, scheduled tasks (cron jobs), and development tools.
Features:
Configuration management system for the Finch framework.
FinchConfigs provides comprehensive configuration management for all aspects
of the web application including server settings, database connections,
file paths, security settings, and development tools. The configuration
system supports environment variables, default values, and runtime customization.
Key features:
A class to manage and run cron jobs using the cron package.
The FinchCron class schedules and manages tasks based on the given cron schedule.
It includes functionalities for delayed starts, counting executions, and tracking status.
Example:
MongoDB database configuration for the Finch framework.
FinchDBConfig manages MongoDB connection settings with built-in support
for authentication, replica sets, and connection string generation.
This is the primary database configuration for document-based operations.
Configuration priority:
MySQL database configuration for the Finch framework.
FinchMysqlConfig manages MySQL database connection settings and provides
environment variable integration for secure credential management.
This configuration is used for SQL-based data operations, migrations,
and relational database features.
Configuration priority:
Manages WebSocket client sessions.
The SessionsManager class maintains a map of connected clients and their associated
user IDs, allowing for efficient client management and communication.
Represents a WebSocket client.
The SocketClient class encapsulates a WebSocket connection and provides
methods for sending data and closing the connection.
Represents events related to WebSocket connections.
The SocketEvent class contains optional callbacks for handling WebSocket events
such as connection, disconnection, errors, and messages.
Manages WebSocket connections and events.
The SocketManager class handles WebSocket connections, manages client sessions,
and facilitates communication between the server and connected clients.
It also provides methods for sending messages to clients and users, handling connection events, and managing sessions.