# yariel.dev-session-online

> Librería para saber cuantos usuarios estan en linea, se puede usar socket io para tiempo real o solo con peticiones

Latest version **1.0.11** (published 2023-05-30) · ISC license · 0 weekly downloads

## Install

```sh
npm install yariel.dev-session-online
pnpm add yariel.dev-session-online
yarn add yariel.dev-session-online
bun add yariel.dev-session-online
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.11 |
| Published | 2023-05-30 |
| First published | 2023-02-01 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 5.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Yariel Baldeon |
| Maintainers | yariel03 |
| Keywords | yariel, yariel.dev, session, sesion, realtime, activo, online |

## Links

- npm: https://www.npmjs.com/package/yariel.dev-session-online
- Repository: https://github.com/Yariel03/yariel.dev-sessionOnline
- Homepage: https://github.com/Yariel03/yariel.dev-sessionOnline#readme
- Issues: https://github.com/Yariel03/yariel.dev-sessionOnline/issues
- npm.io page: https://npm.io/package/yariel.dev-session-online

## Dependencies (1)

- [socket.io](https://npm.io/package/socket.io.md) ^4.5.4

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.0.11 (latest) — 2023-05-30
- 1.0.10 — 2023-02-02
- 1.0.9 — 2023-02-01
- 1.0.8 — 2023-02-01
- 1.0.7 — 2023-02-01
- 1.0.6 — 2023-02-01
- 1.0.5 — 2023-02-01
- 1.0.4 — 2023-02-01
- 1.0.3 — 2023-02-01
- 1.0.2 — 2023-02-01
- 1.0.1 — 2023-02-01
- 1.0.0 — 2023-02-01

## README

# Ver usuarios activos en nuestra app

Libreria para saber cuantos usuarios estan en linea, se puede usar socket io para tiempo real o solo con peticiones

# Uso

si desea probar puede realizarlo asi:

```js
//import
const { sessionOnline } = require("yariel.dev-session-online");

//config only request
sessionOnline.setup(app);

//or socket.io
sessionOnline.setup(app, server);

--------------------------------------------------------
//una vez ya configurado puede usar las siguientes rutas
GET http://localhost:3000/sessions
//Le devuelve todos los clientes y el numero total que se han conectado
{
  "onlineSesion": [],
  "count": 0
}

// Es la ruta que va sumando las sesiones
 POST http://localhost:3000/login/session
 devuelve el id random del usuario logueado
{
  "sessionId": "1675281609919"
}

//Elimina la session del cliente y actualiza el numero en linea
 DELETE http://localhost:3000/sessions/:id

 //Elimina todas las sesiones en linea
 DELETE http://localhost:3000/sessions/

 -----------------------------------------
  Si va a usar sesiones con socket en su cliente debe uinstalar alguna libreria de socket y el evento emitido que brinda la lib es el siguiente
                    io.emit("session-online", onlineSesion);
  donde onlineSession es un array de todos los usuaios en linea


```

# Ejemplo para configurar en el servidor solo con peticiones

```js
const express = require("express");
const { sessionOnline } = require("yariel.dev-session-online");
const app = express();

app.get("/", function (req, res) {
  res.send("Hello World");
});

app.listen(3000);

sessionOnline.setup(app);
```

# Ejemplo con socket

```js
const express = require("express");
const { sessionOnline } = require("yariel.dev-session-online");
const app = express();

app.get("/", function (req, res) {
  res.send("Hello World");
});

const server = app.listen(3000);

sessionOnline.setup(app, server);
```

## Autor

Yariel Baldeon

- [Linkedin](https://www.linkedin.com/in/alexander-baldeon-586533160/)
- [alex-003.net@live.com](mailto:alex-003.net@live.com)

---
_Source: https://npm.io/package/yariel.dev-session-online · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
