Ana içeriğe geç

What is Project?

Project Concept

Organization

Logical grouping of API Proxies

Access Control

Project-based user and role management

Collaboration

Team members working together

Isolation

Data and setting isolation between projects

Project Structure

The following diagram shows what a project contains at a high level:

flowchart TD
Project[📁 Project<br/>Logical Organizational Unit]

Project --> APIProxies[API Proxies<br/>API Configurations]
Project --> Policies[Policies<br/>Security, Traffic, Transformation]
Project --> Connections[Connections<br/>Database, Message Queue]
Project --> Connectors[Connectors<br/>Integration Components]
Project --> Variables[Variables<br/>Environment Variables]
Project --> Settings[Settings<br/>CORS, Timeout, Error Messages]
Project --> Members[Members<br/>Project Owner, Administrator,<br/>Developer, Viewer]
Project --> GatewayPath[Gateway Address<br/>Relative Path Prefix]

style Project fill:#e3f2fd,stroke:#1976d2,stroke-width:3px
style APIProxies fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style Policies fill:#fff3e0,stroke:#f57c00,stroke-width:2px
style Connections fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
style Connectors fill:#fce4ec,stroke:#c2185b,stroke-width:2px
style Variables fill:#fff9c4,stroke:#f9a825,stroke-width:2px
style Settings fill:#f5f5f5,stroke:#616161,stroke-width:2px
style Members fill:#e1f5ff,stroke:#0277bd,stroke-width:2px
style GatewayPath fill:#f1f8e9,stroke:#558b2f,stroke-width:2px

Project and Environment Relationship

The following diagram shows the relationship between project and environment concepts:

flowchart TB
Project[📁 Project<br/>Logical Organizational Unit<br/>Which APIs work together?]

Project --> API1[Product API]
Project --> API2[Order API]
Project --> API3[Payment API]

API1 -->|Deploy| DevEnv[🔵 Development Environment<br/>v1.0]
API1 -->|Deploy| TestEnv[🟡 Test Environment<br/>v1.1]
API1 -->|Deploy| ProdEnv[🟢 Production Environment<br/>v1.2]

API2 -->|Deploy| DevEnv
API2 -->|Deploy| TestEnv
API2 -->|Deploy| ProdEnv

API3 -->|Deploy| DevEnv
API3 -->|Deploy| TestEnv
API3 -->|Deploy| ProdEnv

DevEnv -.->|Physical/Resource Unit| EnvNote[🌍 Environment<br/>Where do APIs run?<br/>Kubernetes Namespace]
TestEnv -.-> EnvNote
ProdEnv -.-> EnvNote

style Project fill:#e3f2fd,stroke:#1976d2,stroke-width:3px
style API1 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style API2 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style API3 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style DevEnv fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
style TestEnv fill:#fff3e0,stroke:#f57c00,stroke-width:2px
style ProdEnv fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style EnvNote fill:#f5f5f5,stroke:#616161,stroke-width:2px,stroke-dasharray: 5 5

Project Features

Project Contents

A project can contain:

  • API Proxies: All API Proxies belonging to the project
  • Policies: Project-specific policy definitions
  • Connections: Database, message queue, etc. connections
  • Connectors: Integration connectors
  • Variables: Project-level variables
  • Gateway Address (Relative Path): The prefix that all API Proxy gateway addresses within the project will start with. For example, when the project gateway address is "account", the API proxy gateway address appears as /account/proxy1.
  • Settings: Project-specific configurations
ipucu

Apinizer provides a Default project upon initial setup. This Default project cannot be edited or deleted.

Project Management

Project Creation

When creating a new project, the following information is defined:

  • Project Name: Unique name that identifies the project
  • Activate Gateway Address: Activated if a common prefix is desired for all gateway addresses within the project
  • Gateway Address (Relative Path): The prefix expression that all API Proxy gateway addresses to be defined within the project will start with. An automatic UUID is provided by the system
  • Description: Purpose and scope of the project
  • Members: Users with access to the project and their roles
  • Visibility: Project visibility settings

A project can be created in two ways:

  • New (Create): New project definition
  • Import Project: Loading a project from an existing project configuration file
bilgi

For detailed project creation and management, you can refer to the Project Management page.

Project Members and Roles

Each project can have members with different roles:

  • Project Owner: Owner of the project. Has the authority to manage, edit, and delete the project. If the user with the Project Owner role is removed from the project, the Admin user automatically becomes the Project Owner.
  • Project Administrator: Authority to manage the project
  • Developer: Authority to create and edit API Proxy
  • Viewer: View-only authority

These roles provide project-based access control.

Project and Environment Relationship

Projects and environments are different concepts:

  • Project: Logical organizational unit (which APIs work together?)
  • Environment: Physical/resource unit (where do APIs run?)

API Proxies in a project can be deployed to different environments:

Project: E-Commerce APIs
├─ Development Environment
│ ├─ Product API v1.0
│ └─ Order API v1.0
├─ Test Environment
│ ├─ Product API v1.1
│ └─ Order API v1.1
├─ Sandbox Environment
│ ├─ Product API v1.2
│ └─ Order API v1.2
└─ Production Environment
├─ Product API v1.2
└─ Order API v1.2

When creating an Environment, you can determine which projects the environment can be used in. If the project selection is left empty, the environment can be used in all projects. If a project is selected, it means that only API Proxies within that project can be deployed to this environment.

Project Use Cases

Team-Based Organization

Different teams working in their own projects. For example:

  • E-Commerce Team → E-Commerce Project
  • Payment Team → Payment Project
  • Reporting Team → Reporting Project
Customer-Based Organization

Separate projects for different customers. For example:

  • Customer A → Customer A Project
  • Customer B → Customer B Project
Product-Based Organization

Separate projects for different products. For example:

  • Mobile Application → Mobile API Project
  • Web Application → Web API Project
Version-Based Organization

Separate projects for different API versions. For example:

  • API v1 → API v1 Project
  • API v2 → API v2 Project

Project Operations

Project Export/Import

Projects can be exported and moved to other environments or systems:

  • Export: Exporting all project content in JSON/YAML format
  • Import: Importing the exported project to another environment or system
  • Cross-Environment Migration: Moving projects between different environments

Project Templates

Frequently used project configurations can be saved as templates and used when creating new projects.

Project Deletion

Project deletion can be performed by users with the Project Owner or System Administrator role.

uyarı

Important: When you delete a project, all assets belonging to that project (API Proxies, Connection Configurations, Credentials, etc.) and configuration information will be deleted. This operation cannot be undone.

bilgi

The Default project cannot be deleted or edited.

Next Steps