open-index/open-npm huggingface dataset:
npm package: @shiva-fw/api
Description: External standalone API server for the Shiva FiveM framework
Latest version: 1.0.0

# shiva-api

> External standalone API server for the [Shiva](https://github.com/adrianmejias/shiva) FiveM framework. Provides REST endpoints, real-time WebSocket broadcasting, and a bridge between shiva-core (FiveM) and external consumers like admin panels, Discord bots, and mobile apps.

## Requirements

- Node.js 18+
- A running [shiva-core](https://github.com/adrianmejias/shiva-core) instance (for bridge connection)

## Getting Started

```bash
cp .env.example .env   # fill in your values
npm install
npm run dev
```

The server starts on `http://localhost:3000` by default. The FiveM bridge will retry automatically until shiva-core is available.

## Configuration

See [`.env.example`](.env.example) for all options. Key variables:

| Variable | Default | Description |
|---|---|---|
| `PORT` | `3000` | HTTP server port |
| `FIVEM_WS_URL` | `ws://localhost:30120/shiva` | FiveM bridge URL (internal only) |
| `API_SECRET` | — | JWT signing secret |
| `DISCORD_CLIENT_ID` | — | Discord OAuth2 app ID |
| `DISCORD_CLIENT_SECRET` | — | Discord OAuth2 app secret |
| `BROADCAST_DRIVER` | `websocket` | Broadcasting driver (`websocket`, `reverb`, `pusher`, `socketio`) |

## Scripts

```bash
npm run dev        # start with file watching
npm start          # production start
npm test           # run Jest tests with coverage
npm run lint       # ESLint
```

## Docker

```bash
docker compose up -d
```

Requires a `fivem` Docker network (`docker network create fivem`). See [`compose.yml`](compose.yml) for all options.

## Architecture

```
┌──────────────┐     WebSocket      ┌──────────────┐     REST/WS     ┌──────────────┐
│  FiveM       │◄──────────────────►│  shiva-api   │◄──────────────►│  shiva-panel │
│  shiva-core  │   (internal only)   │  (this repo) │   (external)   │  Discord bot │
└──────────────┘                    └──────────────┘                └──────────────┘
```

The bridge WebSocket (`FIVEM_WS_URL`) is internal — never expose it to the internet. All game data flows through the bridge; this server never touches the database directly.

## Related Repositories

| Repo | Purpose |
|---|---|
| [shiva](https://github.com/adrianmejias/shiva) | FiveM Docker boilerplate |
| [shiva-fw](https://github.com/adrianmejias/shiva-fw) | Shared Lua foundation |
| [shiva-core](https://github.com/adrianmejias/shiva-core) | FiveM framework engine |
| [shiva-modules](https://github.com/adrianmejias/shiva-modules) | 71 default RP modules |
| [shiva-db](https://github.com/adrianmejias/shiva-db) | Database layer |
| [shiva-cli](https://github.com/adrianmejias/shiva-cli) | Developer CLI |
| [shiva-boot](https://github.com/adrianmejias/shiva-boot) | Boot utilities |
| [shiva-test](https://github.com/adrianmejias/shiva-test) | Testing framework |
| [shiva-docs](https://adrianmejias.github.io/shiva-docs/) | Documentation |
npm package: @shivaani/tested
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.8.
Latest version: 1.0.0

# Test

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.8.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @shivagupta/ui-components
Description: This library is made to use components in dentalkart.
Author: Dentalkart
Latest version: 0.1.28


## Getting Started

First, run the development server:

```bash
npm run storybook
# or
yarn storybook
# or
pnpm storybook
# or
bun storybook
```

## Steps to publsh on npm

```bash
npm run build-storybook
npm run build
npm login
npm publish --access public
```
npm package: @shivam_soni/select-search-dropdown
Description: ---
Latest version: 1.0.2

## Angular @shivam_soni/select-search-dropdown - All in one UI for Search & Select dropdown

---

## Getting started

### Step 1: Install `@shivam_soni/select-search-dropdown`:

#### NPM

```shell
npm install --save @shivam_soni/select-search-dropdown
```

### Step 2: Import the SelectSearchDropdownModule:

```js
import { SelectSearchDropdownModule } from '@shivam_soni/select-search-dropdown';

@NgModule({
  declarations: [AppComponent],
  imports: [SelectSearchDropdownModule, ...],
  bootstrap: [AppComponent]
})
export class AppModule {}
```

## Usage

#### Example with array of object

```js
@Component({...})
export class ExampleComponent {
    // Here, the dropdown menu will display the Title field, which is necessary for the dropdown menu to appear.
    employeeList =  [
		{ id:  1, title:  'Shivam Soni' },
		{ id:  2, title:  'Aman Singh' },
		{ id:  3, title:  'Saurabh Choraria' },
		{ id:  4, title:  'Ankit Singh' },
		{ id:  6, title:  'Rahul Singh' },
		{ id:  7, title:  'Shivam Singh' },
		{ id:  8, title:  'Adarsh Gupta' },
		{ id:  9, title:  'Ritik Jain' }
	];

	dropDownSelectedEmployee(event:any){
		console.log(event);
	}

	onSearchEmployee(event:any){
		console.log(event);
	}
}
```

In template use `select-search-dropdown` component with your functions if you use searchable & selectable

```html
<select-search-dropdown (dropDownSearchItems)="onSearchEmployee($event)" [dropDownList]="employeeList" dropDownPlaceholder="WRITE PLACEHOLDER HERE" dropDownListEmptyMessage="WRITE EMPTY MESSAGE HERE" (dropDownSelectedItems)="dropDownSelectedEmployee($event)"></select-search-dropdown>
```