The official web-based dashboard for managing and deploying polyglot applications to the MetaCall FaaS platform.
- About
- See It in Action
- Key Features
- Getting Started
- Project Structure
- Commands Reference
- Contributing
- License
MetaCall Launchpad is the official web-based interface for managing and deploying polyglot applications to the MetaCall Function-as-a-Service (FaaS) platform. It allows developers to configure environments, inspect active deployments, monitor real-time logs, and invoke polyglot functions directly from the browser.
This project is built with:
- React + TypeScript — Core UI framework
- Vite — Build tooling and dev server
- Tailwind CSS — Styling framework
- Vitest — Unit testing
- Playwright — End-to-end testing
A complete walk-through of the primary developer workflow — deployment management, real-time logs, and polyglot function execution:
MetaCall_Launchpad.mp4
- Authentication & Access Control: Secure login, registration, token-based authorization, and protected client-side routing.
- Polyglot Service Deployment: Deploy applications directly from ZIP files, remote Git repositories, or pre-configured software templates.
- Interactive Function Testing: Inspect deployed endpoints and invoke functions written in different programming languages (JavaScript, Python, Ruby, Go, C#, C/C++, Rust, etc.) in real time.
- Real-Time Logs: Stream live stdout and stderr consoles from deployed services for simplified debugging and performance monitoring.
- Subscription Management: Review and update subscription tiers, purchase or manage licenses, and checkout billing statements.
- Settings & Live Support: Manage API tokens, configure account preferences, and contact the MetaCall support team.
- Node.js: Version 20.0.0 or higher
- npm: Version 10.0.0 or higher
- MetaCall FaaS Backend: A running instance of the MetaCall FaaS server (defaults to
http://localhost:9000)
- Fork the repository by clicking Fork on the top right of the main repository.
- Clone your fork:
git clone https://github.com/<your-username>/dashboard.git cd Dashboard
- Install dependencies:
npm install
- Configure your environment:
Set
cp .env.example .env
VITE_FAAS_URLto point to your running FaaS backend. - Start the local development server:
Access the live development server at
npm run dev
http://localhost:5173.
Dashboard/
├── .github/ # GitHub workflows, PR & issue templates
├── public/ # Static assets (logos, loaders, demo video)
├── src/
│ ├── app/ # App-level configuration (router, providers)
│ ├── assets/ # Imported assets (images, SVGs)
│ ├── features/ # Feature modules (each is self-contained)
│ │ ├── auth/ # Authentication & login
│ │ ├── chat/ # Live support chat
│ │ ├── dashboard/ # Main dashboard view
│ │ ├── deployments/ # Deployment management (ZIP, Git, templates)
│ │ ├── logs/ # Real-time log streaming
│ │ ├── plan/ # Subscription & billing
│ │ └── settings/ # User settings & API tokens
│ ├── lib/ # Utility libraries & helpers
│ ├── pages/ # Route-level page components
│ ├── services/ # API service layer (FaaS communication)
│ ├── shared/ # Shared UI components, types, constants
│ │ ├── ui/ # Reusable UI components
│ │ ├── layout/ # Layout components (sidebar, header)
│ │ ├── types/ # Shared TypeScript types
│ │ └── constants/ # App-wide constants
│ └── styles/ # Global styles & Tailwind config
├── tests/ # Playwright E2E tests
│ ├── e2e/ # End-to-end test specs
│ ├── fixtures/ # Test fixtures & helpers
│ ├── mocks/ # Mock data for tests
│ └── pages/ # Page Object Models
├── vite.config.ts # Vite configuration
├── playwright.config.ts # Playwright configuration
└── package.json # Dependencies & scripts
| Command | Description |
|---|---|
npm run dev |
Start the local development server |
npm run build |
Build the production application bundle |
npm run preview |
Preview the local production build |
npm run lint / lint:fix |
Check and fix ESLint issues |
npm run format / format:check |
Format files and check formatting with Prettier |
npm run unit |
Run unit tests with Vitest |
npm run test |
Run full Playwright E2E suite |
npm run test:smoke |
Run fast Playwright E2E smoke tests |
For detailed information about tests and E2E setup, refer to the Testing Guide.
We are thrilled to welcome contributions from our community! Whether you are squashing a bug, proposing an exciting new feature, or submitting a pull request, your help is incredibly valuable to us.
Please check out our Contributing Guidelines to see how you can get started, set up your development environment, and submit your work. If you encounter any issues, please feel free to open one!
To ensure a positive and inclusive environment, please review our Code of Conduct.
A license has not been specified for this project yet and will be added in a future release.
