{"id":30118355,"url":"https://github.com/apito-io/console","last_synced_at":"2026-05-09T06:04:23.141Z","repository":{"id":307801943,"uuid":"627340312","full_name":"apito-io/console","owner":"apito-io","description":"Apito Service Console","archived":false,"fork":false,"pushed_at":"2026-03-01T12:42:59.000Z","size":1443,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-01T15:59:56.574Z","etag":null,"topics":["antd","api","api-gateway","backend","backend-api","backend-service","graphql","graphql-server","reactjs","rest-api","restful-api"],"latest_commit_sha":null,"homepage":"https://apito.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apito-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-13T09:06:27.000Z","updated_at":"2026-03-01T12:43:03.000Z","dependencies_parsed_at":"2025-08-02T10:43:11.942Z","dependency_job_id":"2148c74c-393a-4db7-8078-f53dd59328b9","html_url":"https://github.com/apito-io/console","commit_stats":null,"previous_names":["apito-io/console"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/apito-io/console","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apito-io%2Fconsole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apito-io%2Fconsole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apito-io%2Fconsole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apito-io%2Fconsole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apito-io","download_url":"https://codeload.github.com/apito-io/console/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apito-io%2Fconsole/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32809149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antd","api","api-gateway","backend","backend-api","backend-service","graphql","graphql-server","reactjs","rest-api","restful-api"],"created_at":"2025-08-10T11:27:15.836Z","updated_at":"2026-05-09T06:04:23.135Z","avatar_url":"https://github.com/apito-io.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apito Console\n\nOpen-source, API-first infrastructure to model data, manage content, enforce access rules, and run at scale. This repository contains the Apito Console (Open Core) — a modern, web-based admin UI for managing your Apito projects.\n\nReference: the overall project vision and tone follow the Apito Engine README. See the engine repository for core concepts and ecosystem context: [apito-io/engine README](https://github.com/apito-io/engine/blob/main/README.md).\n\n## Features\n\n- Schema modeling UI with drag-and-drop\n- Content management with relations and rich text\n- Roles, permissions, and logic settings\n- API reference and GraphiQL explorer\n- Plugin system and plugin settings UI\n- Media manager integration\n- Project, environment, and team settings\n\n## Tech Stack\n\n- React 19, TypeScript 5, Vite 7\n- Ant Design 5\n- GraphQL 16, Apollo Client 3\n- pnpm 9 (via Corepack)\n\n## Requirements\n\n- Node.js 20+\n- pnpm (recommended via Corepack)\n\n## Getting Started\n\n1. Install dependencies\n\n```bash\ncorepack enable\ncorepack prepare pnpm@9.15.4 --activate\npnpm install\n```\n\n2. Run the development server\n\n```bash\npnpm dev\n```\n\n3. Build and preview\n\n```bash\npnpm build\npnpm preview\n```\n\n4. (Optional) Generate GraphQL types/hooks\n\n```bash\npnpm codegen\n```\n\n## Configuration\n\nAt runtime, the console reads environment variables that are injected into the built assets. When running via Docker (see below), these are written to `env.js` on container start:\n\n- `VITE_REST_API` (default: `https://api.apito.io`)\n- `VITE_GRAPH_API` (default: `https://api.apito.io/secured/graphql`)\n- `VITE_GRAPH_SUBS_API` (default: `wss://api.apito.io/secured/graphql`)\n- `VITE_AUTH_PROVIDER` (default: `apito`)\n- `VITE_PUBLIC_GRAPH_API` (default: `https://api.apito.io/secured/graphql`)\n- `VITE_COOKIE_DOMAIN` (example: `.udbhabon.com`)\n\nYou can set these as needed in your deployment environment.\n\n## Docker\n\nBuild a production image and run it:\n\n```bash\n# Build\ndocker build -t apito-console:latest .\n\n# Run (override ports and env vars as needed)\ndocker run -p 8080:8080 \\\n  -e VITE_REST_API=\"https://api.apito.io\" \\\n  -e VITE_GRAPH_API=\"https://api.apito.io/secured/graphql\" \\\n  -e VITE_GRAPH_SUBS_API=\"wss://api.apito.io/secured/graphql\" \\\n  -e VITE_AUTH_PROVIDER=\"apito\" \\\n  -e VITE_PUBLIC_GRAPH_API=\"https://api.apito.io/secured/graphql\" \\\n  -e VITE_COOKIE_DOMAIN=\".example.com\" \\\n  apito-console:latest\n```\n\n## CI/CD\n\nThis repository includes a GitHub Actions workflow that:\n\n- Installs dependencies with pnpm using the lockfile\n- Builds static assets and uploads a release artifact on tag pushes (`v*.*.*`)\n- Builds and pushes a multi-arch Docker image to GHCR\n\nTo create a release, tag the commit and push:\n\n```bash\ngit tag v1.0.0\ngit push origin v1.0.0\n```\n\n## Project Structure\n\n```\nsrc/\n  components/       # UI components (common, forms, model, roles, plugins)\n  pages/            # Route pages (console, settings, content, media, etc.)\n  graphql/          # Queries and mutations\n  generated/        # GraphQL codegen outputs\n  services/         # API clients (Apollo, HTTP)\n  plugins/          # Plugin system\n  router/           # App routes\n  types/            # Shared types\n  utils/            # Utilities\n```\n\n## Contributing\n\nIssues and pull requests are welcome. Please open an issue first to discuss significant changes.\n\n## License\n\nThis project is part of the Apito ecosystem. Licensing terms may differ between the engine and the console. Please refer to the LICENSE file in this repository (if present) and the Engine repository for additional context: [apito-io/engine README](https://github.com/apito-io/engine/blob/main/README.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapito-io%2Fconsole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapito-io%2Fconsole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapito-io%2Fconsole/lists"}