AutoKitteh is an open-source, developer-first framework aimed at simplifying the automation of distributed systems. It supports various deployment models including on-prem, cloud, and hybrid systems.
This repository contains the web UI for the AutoKitteh backend. The application allows users to create projects from a list of templates or start blank projects. It provides functionality to manage project entities such as code files, connections, triggers, and variables. Users can build and deploy projects on the server, view a list of deployments, and monitor sessions within those deployments. This interface facilitates the process of working with AutoKitteh, making it easier to develop, manage, and deploy automation projects.
Use the following command to run the application with Docker
docker compose -f development.compose.yml up
Ensure you have the following installed on your system:
- Node.js (version 16.x or later)
- npm (version 7.x or later)
- Git (for version control and repository management)
-
Clone the Repository:
git clone https://github.com/autokitteh/web-platform && cd autokitteh
-
Get AutoKitteh Submodule: Use git to install the AutoKitteh submodule:
git submodule update --init
-
Install Dependencies: Use npm to install all the required dependencies:
npm install
Create a .env
file in the root of the project directory and add the necessary environment variables. Refer to the validateEnv
script for required variables:
sh cp .env.example .env # Edit .env with your environment-specific settings
VITE_HOST_URL
- Default: A predefined default host URL mentioned in getApiBaseUrlFile
- Description: Defines the backend URL that the application will use as its host. If not set, the application will use a default host URL.
- Example: VITE_HOST_URL=http://localhost:1234
VITE_AUTH_ENABLED
- Default: false
- Description: Determines whether the application should restrict access to logged-in users or users with a valid JWT token. Set to true to enable authentication protection.
- Example: VITE_AUTH_ENABLED=false
VITE_DESCOPE_PROJECT_ID
- Default: None
- Description: Required for OAuth authentication using Descope. If you want to allow users to connect to the app using OAuth, you need to provide your Descope project ID here.
- Example: VITE_DESCOPE_PROJECT_ID=your_descope_project_id
TESTS_JWT_AUTH_TOKEN
- Default: None
- Description: Used for running E2E tests when authentication is enabled on the backend. This JWT token allows the test runner to authenticate and access the application during testing.
- Example: TESTS_JWT_AUTH_TOKEN=your_jwt_auth_token_for_e2e_tests
Note: These environment variables are optional. The application will use default values or fall back to certain behaviors if these variables are not set. However, setting them allows for greater customization and functionality, especially in different deployment environments or when running tests.
-
Development Mode: Start the development server with hot reloading.
npm run dev
-
Building the Project: Create a production-ready build.
npm run build
-
Preview the Build: Serve the production build locally to ensure everything is working as expected.
npm run preview
-
Run End-to-End Tests: Run the Playwright end-to-end tests.
npm run test:e2e
-
View E2E Test UI: Launch the Playwright test runner UI.
npm run test:e2e:ui
-
Generate E2E Test Report: Generate and view the test report.
npm run test:e2e:report
-
Storybook: Launch the Storybook development environment.
npm run storybook
-
Tailwind Config Viewer: Open the Tailwind CSS configuration viewer.
npm run tailwind-config-viewer
In this project we used:
- FontAwesome and tabler-icons for our icons.
For inquiries, contact: [email protected]
To contribute to AutoKitteh, please refer to the CONTRIBUTING.md file.
We appreciate contributions from everyone!