An open-source, web-based API management platform. No downloads required โ just open your browser and start working.
Features โข Tech Stack โข Structure โข Getting Started
English | ็ฎไฝไธญๆ
ApiPlayer is a web-based API management platform similar to ApiFox and Postman. It provides development teams with a lightweight and efficient API documentation and debugging experience โ no software installation or project configuration required, just open your browser and collaborate.
- Visual Editor โ Intuitive form-based API definition with full support for request parameters, body, and response structures
- Group Management โ Tree-structured directories with drag-and-drop sorting and nested groups
- Version Control โ Automatic version snapshots on every modification, with diff comparison and rollback support
- Mock Data โ Auto-generate mock data based on JSON Schema
- Online Runner โ Send HTTP requests directly in the browser, with backend proxy to bypass CORS restrictions
- Environment Variables โ Multi-environment configuration (dev/test/prod) with one-click BaseURL switching
- cURL Generation โ Auto-generate cURL commands from current configuration for easy sharing
- Team Management โ Create teams, invite members, and assign roles
- Project Isolation โ Independent member permissions and environment settings per project
- RBAC Permissions โ Fine-grained access control with team/project dual-level hierarchy
- Cookie + Session โ Secure session management with multi-device login and session control
- Context-aware Permissions โ Resource context-based permission validation to prevent privilege escalation
| Layer | Technology |
|---|---|
| Frontend | Vue 3 + TypeScript + Vite + Tailwind CSS + shadcn-vue |
| Backend | NestJS + Fastify + Prisma + PostgreSQL + Redis |
| Deployment | PM2 + Nginx + GitHub Actions CI/CD |
| Architecture | pnpm Monorepo |
apiplayer/
โโโ apps/
โ โโโ frontend/ # Vue 3 frontend application
โ โ โโโ src/
โ โ โ โโโ api/ # API request wrappers
โ โ โ โโโ components/# UI components
โ โ โ โโโ composables/# Composable hooks
โ โ โ โโโ stores/ # Pinia state management
โ โ โ โโโ views/ # Page components
โ โ โโโ ...
โ โโโ backend/ # NestJS backend service
โ โโโ src/
โ โ โโโ api/ # API module
โ โ โโโ auth/ # Authentication module
โ โ โโโ team/ # Team module
โ โ โโโ project/ # Project module
โ โ โโโ ...
โ โโโ prisma/ # Database schema
โโโ docs/ # Documentation
โโโ .github/workflows/ # CI/CD configuration
- Node.js >= 20.x
- pnpm >= 10.x
- PostgreSQL >= 14
- Redis >= 6
# Clone the repository
git clone https://github.com/nonhana/apiplayer.git
cd apiplayer
# Install dependencies
pnpm install
# Configure backend environment variables
cp apps/backend/.env.example apps/backend/.env
# Edit .env file with your database credentials
# Initialize database
cd apps/backend
pnpm prisma:push
pnpm rbac:seed
# Start development servers
cd ../..
pnpm dev:backend # Start backend (default port 3000)
pnpm dev:frontend # Start frontend (default port 5173)pnpm build:frontend # Build frontend
pnpm build:backend # Build backendThis project is under active development and some features are still being refined. Issues and Pull Requests are welcome!
Made with โค๏ธ by nonhana