Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Projects

Projects in Kinesis API serve as the primary organizational units that group related collections, structures, and routes. They provide logical separation between different API initiatives and help maintain clear boundaries for access control and resource management.

Accessing Projects

The Projects page can be accessed by navigating to /web/projects in your browser after logging in.

Projects Page

Projects Visibility

The visibility of projects depends on your user role:

  • ROOT Users: Can see all projects created within the Kinesis API instance
  • All Other Users: Can only see projects they are members of

This role-based visibility ensures that users only have access to projects relevant to their work.

Project List Interface

The Projects interface includes:

  • A filterable, paginated list of projects
  • Project cards showing key information
  • Action buttons for various operations
  • A creation button for ROOT and ADMIN users

Each project card displays:

  • Project name
  • Project ID
  • Description
  • API path
  • Number of members

Creating a New Project

ROOT and ADMIN users can create new projects:

  1. Click the "Create a new project" button
  2. Fill in the required information:
    • Name: A human-readable name for the project
    • ID: A unique identifier (used in URLs and API paths)
    • Description: A brief explanation of the project's purpose
    • API Path: The base path for all API routes in this project

Create Project Modal

Project ID Requirements

Project IDs must:

  • Be unique across the Kinesis API instance
  • Contain only lowercase letters, numbers, and underscores
  • Start with a letter
  • Be between 3 and 50 characters long

API Path Conventions

API paths should:

  • Start with a forward slash (/)
  • Follow RESTful conventions
  • Be unique across all projects
  • Reflect the project's purpose

Example: /api/v1/inventory for an inventory management project

Project Member Management

Projects use member-based access control. Only users who are members of a project can access its resources.

Viewing Project Members

To view the members of a project:

  1. Click the "View Members" button (user icon) on the project card
  2. A modal will display all users who have access to the project

Adding Project Members

ROOT and ADMIN users can add members to a project:

  1. Click the "Add Member" button (plus user icon)
  2. Select users from the list to add them to the project
  3. Click the add icon next to each user you want to add

Removing Project Members

ROOT and ADMIN users can remove members from a project:

  1. Click the "Remove Member" button (user with x icon)
  2. Select users from the list to remove them from the project
  3. Click the remove icon next to each user you want to remove

Accessing a Project

To view or manage a specific project:

  1. Click on the project name or use the "View Project" button
  2. You'll be taken to the project detail page (/web/project?id=[project_id])

Project Page

The project detail page provides access to all collections within that project. Most operations described above (such as managing members and deleting the project) can also be performed directly from this page.

Project Page Capabilities

From the project detail page, you can:

  • View and edit the project's information (name, description, API path)
  • Manage project members (add or remove users)
  • Delete the project entirely
  • View and interact with all collections belonging to the project
  • Create new collections directly from this interface
  • Access collections to manage their data and structures

The centralized project interface makes it convenient to perform all project-related operations without returning to the main projects list, streamlining your workflow when working within a specific project context.

Deleting Projects

ROOT and ADMIN users can delete projects:

  1. Click the "Delete Project" button (trash icon) on the project card
  2. Confirm the deletion in the modal that appears

⚠️ Warning: Deleting a project permanently removes all collections, structures, data, and routes associated with it. This action cannot be undone.

Filtering Projects

To find specific projects:

  1. Use the filter input at the top of the project list
  2. Type any part of the project name, ID, description, or API path
  3. The list will automatically filter to show matching projects

Pagination

For systems with many projects:

  1. Navigate between pages using the pagination controls
  2. The page displays up to 8 projects at a time

Project Lifecycle

Projects typically follow this lifecycle:

  1. Creation: A ROOT or ADMIN user creates the project
  2. Configuration: Collections and structures are defined
  3. Development: API routes are created using the X Engine
  4. Maintenance: The project evolves with new features and updates
  5. Retirement: When no longer needed, the project is deleted
  • Collections - Manage data collections within projects
  • Structures - Define data structures for collections
  • Data - Work with data stored in collections
  • Routes - Create API endpoints for project resources