Skip to content

StackOneHQ/hub

Repository files navigation

StackOne HUB

πŸ‘‰ BETA SOFTWARE This project is currently in beta stage. It is evolving quickly, and new versions may include breaking changes.

License Status Node Version

StackOne HUB is a React-based integration component library that provides a web component wrapper for seamless integration into any web application. It enables developers to easily embed StackOne's integrations hub.

πŸ“‹ Table of Contents

⚠️ Beta Notice

This software is in active development and should be considered beta quality.

  • 🚧 Breaking changes may occur in any release
  • πŸ“š Documentation is updated regularly
  • πŸ”„ APIs are subject to change without prior notice

Please report issues and provide feedback to help us improve!

πŸš€ Quick Start

# Clone and setup
git clone <repository-url>
cd hub
npm install
npm run build

# Start development
npm run dev

πŸ“¦ Installation

Prerequisites

  • Node.js v22.14.0 or higher
  • npm (comes with Node.js)

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd hub
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

πŸ› οΈ Development

Environment Setup

  1. Create environment file:

    cp .env.example .env
  2. Configure your environment variables (see Environment Variables section)

  3. Start the development server:

    npm run dev

The development server will start at http://localhost:3000 (default port).

πŸ—οΈ Build

To build the project for production:

npm run build

Build Output

The build generates multiple bundles in the dist/ directory:

File Description Use Case
StackOneHub.esm.js ES module bundle Modern React applications
StackOneHub.cjs.js CommonJS module Node.js/legacy environments
StackOneHub.web.js Web component bundle Vanilla HTML/JS integration

πŸ“– Usage

🌐 Web Component Integration

For vanilla HTML/JavaScript applications:

<!DOCTYPE html>
<html>
<head>
    <title>StackOne HUB Integration</title>
</head>
<body>
    <script src="<TBD>/StackOneHub.web.js"></script>
    <my-component></my-component>
</body>
</html>

βš›οΈ React Component Integration

For React applications:

import StackOneHub from "@stackone/StackOneHub";

function App() {
  return (
    <div className="app">
      <h1>My Application</h1>
      <StackOneHub />
    </div>
  );
}

export default App;

πŸ’» Local Development Usage

Web Component (Local)

<script src="dist/StackOneHub.web.js"></script>
<my-component></my-component>

React Component (Local)

import StackOneHub from "dist/StackOneHub.esm";

function App() {
  return <StackOneHub />;
}

πŸ”§ Environment Variables

Create a .env file in the dev directory with the following variables:

Variable Description Required
STACKONE_API_KEY Your StackOne API key βœ…
ORIGIN_OWNER_ID The origin owner identifier βœ…
ORIGIN_OWNER_NAME Display name for the owner βœ…
ORIGIN_USERNAME Username for authentication βœ…
API_URL Backend API endpoint URL βœ…
DASHBOARD_URL Dashboard application URL βœ…

Example .env file:

STACKONE_API_KEY=your_api_key_here
ORIGIN_OWNER_ID=your_owner_id
ORIGIN_OWNER_NAME=Your Company Name
ORIGIN_USERNAME=your_username
API_URL=https://api.stackone.com
DASHBOARD_URL=https://dashboard.stackone.com

🀝 Contributing

Since this project is in beta, we welcome contributions and feedback! However, please keep in mind:

  • πŸ”„ Frequent changes: The codebase may change rapidly
  • πŸ“‹ No formal process yet: Contribution guidelines are still being established
  • πŸ’¬ Communication is key: Please open an issue before submitting large changes

Getting Started

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.


About

Embeddable Integration Hub components

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors