Skip to main content

Set Up Frontend

This project is an Angular-based frontend application designed to manage firmware, execute SQL queries and monitor jobs. It leverages Bootstrap for styling and AG Grid for dynamic data visualization.

Technologies Used

  • Framework: Angular 17
  • UI Components: Bootstrap 5, NG Bootstrap
  • Grid System: AG Grid
  • Code Editors: Ace Editor, CodeMirror
  • State Management & Services: RxJS, HttpClient

Installation & Setup

Prerequisites

Installation

npm install

Running the Application

npm start

with Angular CLI

ng serve

This will start a development server at http://localhost:4200/.

Building the Application

npm run build

This command compiles the project for production.

info

To connect to the backend Docker container from your local environment, you must update the backend URL in the config.json file.

{
"frontend": {
"baseUrl": "http://localhost:5000/"
}
}

Project Structure

Core Modules

  • App Module (app.module.ts)
    • Configures core dependencies and initializes services.
  • Routing Module (app-routing.module.ts)
    • Defines routes and navigation logic.

Main Components

ComponentDescription
Firmware VaultManages firmware and product data
Data ExplorerProvides an SQL query interface for data exploration
Jobs DashboardDisplays job status and execution history
Navigation BarHandles application navigation

Routing Configuration

The application uses Angular's RouterModule (app-routing.module.ts) to define routes. Below are the main routes:

const routes: Routes = [
{ path: '', redirectTo: 'firmware-vault', pathMatch: 'full' },
{ path: 'firmware-vault', component: FirmwareVaultComponent },
{ path: 'data-explorer', component: DataExplorerComponent },
{ path: 'jobs', component: JobsComponent },
{ path: 'jobs/detail/:id', component: JobsDetailComponent },
];

Key Features

  • SQL Query Builder: Allows users to execute SQL queries dynamically.
  • Firmware Management: Provides an interface to manage firmware files.
  • Job Monitoring: Enables users to track job execution status.
  • Dynamic Tables: Uses AG Grid for advanced data visualization.
  • Responsive UI: Built with Bootstrap for optimal user experience.