open-index/open-npm huggingface dataset:
npm package: @ref/coap-router
Description: A quick demo on how to leverage web router to build CoAP server.
Latest version: 1.3.0

# coap-router [![npm version](https://badge.fury.io/js/%40ref%2Fcoap-router.svg)](https://badge.fury.io/js/%40ref%2Fcoap-router)
A quick demo on how to leverage web router to build [CoAP (Constrained Application Protocol)](https://en.wikipedia.org/wiki/Constrained_Application_Protocol) server.



## 1. Motivation
Currently I'm working on a Node.js based IoT (Internet of Things) platform. It allows Node.js powered DTU (Data Transfer Unit) to serve as CoAP server on smart devices like Raspberry PI.

When you design a Node.js based HTTP server, web router is one of your best choices to manage incoming requests from clients. Unfortunately, CoAP doesn't have one like Express Router, this project is to demonstrate how to leverage web router concept to simplify CoAP server implementation.



## 2.Usage

Inspired by many other JavaScript routers, `coap-router` does almost the same recursive routing as [Express.Router](http://expressjs.com/en/guide/routing.html).

Let's take a look at the example.

#### Example

##### ./server.js

```js
const coap = require("coap");
const app = require("./app");
const server = coap.createServer(app);
server.listen(() => {
    console.log("The CoAP server is now running.\n" + app.help);
});
```

##### ./app.js

```js
const Router = require("coap-router");
const app = Router();

app.get("/", (req, res) => {
    res.end("Hello, world");
});

app.use("/thermometer", require("./routes/thermometer"));
```


##### ./routes/thermometer.js
```js
const Router = require("../../lib/router");
const router = Router();
const thermometer = require("../sensors/thermometer");
router.get("/", (req, res) => {
    // route to "/thermometer/"
    writeJSON(res, {
        temperature: thermometer.temperature,
        humidity: thermometer.humidity,
        timestamp: new Date().getTime()
    });
    res.end();
});

router.get("/temperature", (req, res) => {
    // route to "/thermometer/temperature"
    writeJSON(res, {
        temperature: thermometer.temperature,
        timestamp: new Date().getTime()
    });
    res.end();
});
```



## 3. How to Install
### 3.1 Basic Requirements

* Node.js 6 or above
* UDP compatible network connected

### 3.2 Installation

```sh
$ npm install
```



## 4. How to Test

### 4.1 Install CoAP Client

Although there're dozens of CoAP clients available, one of the easiest ways is to install Node.js based client named `coap-cli`.

```sh
$ npm install coap-cli -g
$ coap
```

### 4.2 Tests

1. Start example server. By default the CoAP server is listening at port 5683.

   ```sh
   $ npm start
   ```

   ​

2. Get literal resource.

   ```sh
   $ coap coap://localhost/
   ```

   ​

3. Get JSON resource.

   ```sh
   $ coap coap://localhost/thermometer
   $ coap coap://localhost/thermometer/temperature
   $ coap coap://localhost/thermometer/humidity
   ```

4. Get the latest resource immediately after it has been changed (observing mode).

   ```sh
   $ coap coap://localhost/thermometer/ -o
   ```

   ​
npm package: @ref/ga4mp
Description: An Open-Source Google Analytics 4 Client-Side Protocol Implementation
Author: David Vallejo
Latest version: 0.0.6


# GA4MP - Google Analytics 4 Measurement Protocol

This is an open-source implementation for the *client-side* protocol used by **Google Analytics 4**. When I mention "**client-side**" is because it must be differentiated with the official [GA4 Measurement Protocol](https://developers.google.com/analytics/devguides/collection/protocol/ga4) offered by Google.
  
This library implements the public **Google Analytics 4** protocol to make possible to do a full server-side tracking using NODE/JS which is not actually possible with the official **Measurement Protocol** , which is meant only to augment the current GA4 data and it's not ready for doing a full tracking.
  
Main differences with the official offerser server-side protocol are:

- Trigger new sessions and visits starts
- Track Sessions attribution
- Override the User IP to populate the GEO Details
- View the hits on the DebugView
- Override ANY value you want
- Easily portable to other languages

If we compare this library with the official GTAG implementation.

 - Lightweight 8.7kb (<4kb compressed ) 95.6% Lighter than a GTAG Container
![image](https://user-images.githubusercontent.com/1494564/201500771-f54c592b-4f37-4ac1-9a89-87878987cc33.png)
 - Privacy Compliant: Full control over which cookies are created/read and sent to Google
 - Dual Tracking (send hits to multiple measurement Ids)

## Usage

#### **ES6 Imports**

    import  ga4mp  from  '@analytics-debugger/ga4mp'
    const  ga4track = ga4mp(["G-THYNGSTER"], {
    	user_id:  undefined,
    	non_personalized_ads:  true,
    	debug:  true
    });

#### **Browser**
<.script  src="https://cdn.jsdelivr.net/npm/@analytics-debugger/ga4mp@latest/dist/ga4mp.umd.min.js">< /script>

    const  ga4track  =  ga4mp(["G-THYNGSTER"],  {
    	user_id: undefined,
    	non_personalized_ads: true,
    	debug: true
    });

#### **NODE.JS**

    const  ga4mp = require('./dist/ga4mp')
    const  ga4track = ga4mp(["G-THYNGSTER"], {
    	user_id:  undefined,
    	non_personalized_ads:  true,
    	debug:  true
    });

# More API details
Read more at: https://ga4mp.dev/
npm package: @ref/react-kakao-maps
Description: React Kakao Map Components
Latest version: 0.3.0

![Musma Logo](https://www.musma.net/files/attach/images/157/13123.png)


# react-kakao-maps

카카오 지도 (Daum 지도 Web API) 리액트 컴포넌트


## 목적

[react-google-maps](https://github.com/tomchentw/react-google-maps)도 있고, [react-naver-maps](https://github.com/zeakd/react-naver-maps)도 있는데, [react-kakao-maps](https://github.com/Musma/react-kakao-maps)는 없어서...

**그래서 [무스마 기술연구소](https://www.musma.net/)에서 공유해드립니다.**


## 설치 방법

애플리케이션이 시작되기 전에 Daum 지도 API를 먼저 불러와야 합니다.

[다음 지도 Web API 사용법](http://apis.map.daum.net/web/guide/)

```
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 넣으시면 됩니다.&libraries=services,clusterer"></script>
```

그리고 package.json에 dependencies로 추가합니다.

```
# npm
$ npm Musma/react-kakao-maps#0.0.1 --save

# yarn
$ yarn add Musma/react-kakao-maps#0.0.1
```

## 타입스크립트

**타입스크립트** 사용자를 위해 [daum.maps.d.ts](https://github.com/Musma/daum.maps.d.ts) 패키지를 제공합니다.

tsconfig.json의 `compilerOptions.types` 속성에 `daum.maps.d.ts` 패키지를 추가하시면 됩니다.

```
{
  ...,
  "compilerOptions": {
    ...,
    "types": [
      ...,
      "daum.maps.d.ts"
    ]
  }
}
```

## 사용 방법

> [react-google-maps](https://github.com/tomchentw/react-google-maps) 컴포넌트 사용 방법과 비슷합니다.

```
import { Map, Marker, MarkerClusterer, Polyline } from 'react-kakao-maps'

...

render() {
  return (
    <React.Fragment>
      ...

      {/* 모든 지도 요소 컴포넌트들은 반드시 DOM 구조상 `Map`의 자손이어야 합니다. */}
      <Map options={{ ... }}>
        ...

        {/* 그냥 마커는 이렇게 */}
        <Marker options={{ ... }} />

        {/* 마커 클러스터링 기능 사용하려면 이렇게 */}
        <MarkerClusterer options={{ ... }}>
          <Marker options={{ ... }} />
        </MarkerClusterer>
        
        {/* 나머지도 동일합니다. */}
        <Polyline options={{ ... }} />
      </Map>
    </React.Fragment>
  )
}
```


## 제공되는 컴포넌트

- [ ] AbstractOverlay
- [x] Circle
- [x] CustomOverlay
- [ ] Ellipse
- [ ] InfoWindow
- [x] Map
- [x] Marker
- [x] MarkerClusterer
- [x] Polygon
- [x] Polyline
- [x] Rectangle
- [ ] 기타...


## 이슈/결함

- [GitHub 이슈](https://github.com/Musma/react-kakao-maps/issues)에 등록해주세요.
- 수정해서 Pull Request까지 주시면 더 좋습니다.


## 기여하기

모든 컴포넌트를 100% 다 만들지는 못했습니다.
필요한 부분을 보완해서 Pull Request를 보내주시면 같이 잘 쓰도록 하겠습니다.


## 저작권과 라이선스

- 카카오 지도 API는 카카오 소유입니다.
- MIT 라이선스로 제공되니 알아서 잘 쓰시고, 웬만하면 여기에 공유해서 같이 쓰도록 합시다.
npm package: @ref/vector-icons
Description: Built-in support for popular icon fonts and the tooling to create your own Icon components from your font and glyph map. This is a wrapper around react-native-vector-icons to make it compatible with Expo.
Author: Brent Vatne
Latest version: 11.0.0

# @expo/vector-icons

This library is a compatibility layer around [@oblador/react-native-vector-icons](https://github.com/oblador/react-native-vector-icons) to work with the Expo asset system. If you're using React Native without Expo, you have no need for this library -- carry on! (or maybe [check out Expo](https://expo.io/)).

> 👀: this library does *not* provide access to react-native-vector-icon's `Icon.getImageSource()` function for generating images from icons at runtime ([for context on why, see this issue](https://github.com/expo/vector-icons/issues/26)). If you find yourself needing an icon in the form of an image rather than text, you should generate that image yourself and bundle it with your app.

## Resources

- [@expo/vector-icons directory](https://expo.github.io/vector-icons/) - a searchable list of all included icons.
- [Font Awesome 5 icons directory](https://fontawesome.com/icons) - all Font Awesome 5 icons (including the Pro icons)
  ![Screenshot of website](https://raw.githubusercontent.com/expo/vector-icons/master/website-screenshot.png)
- [Expo documentation](https://docs.expo.io/)

## Usage

This library is part of the `expo` package, so if you are using `expo` you can simply use it like so

```tsx
import React from 'react';
import { Ionicons } from '@expo/vector-icons';

export default class IconExample extends React.Component {
  render() {
    return <Ionicons name="md-checkmark-circle" size={32} color="green" />;
  }
}
```

for more usage see [Expo icons documentation](https://docs.expo.io/guides/icons/)
npm package: @ref5378/my-card
Description: Webcomponent my-card following open-wc recommendations
Author: my-card
Latest version: 0.0.0

<p align="center">
  <img width="200" src="https://open-wc.org/hero.png"></img>
</p>

## Open-wc Starter App

[![Built with open-wc recommendations](https://img.shields.io/badge/built%20with-open--wc-blue.svg)](https://github.com/open-wc)

## Quickstart

To get started:

```bash
npm init @open-wc
# requires node 10 & npm 6 or higher
```

## Scripts

- `start` runs your app for development, reloading on file changes
- `start:build` runs your app after it has been built using the build command
- `build` builds your app and outputs it in your `dist` directory
- `test` runs your test suite with Web Test Runner
- `lint` runs the linter for your project
- `format` fixes linting and formatting errors

## Tooling configs

For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.