Find Jobs
Hire Freelancers

typescript + nodejs : ONE Network library as client / server TCP/IP and UDP/datagram supporting ipv4 AND ipv6

$30-250 USD

Probíhající
Zveřejněno před více než 3 roky

$30-250 USD

Zaplaceno při doručení
We need a low level library in Typescript using NodeJS library : This Network NodeJs Typescript Library is the template that must be used as starter kit for any NodeJs Typescript Library developed in our project. By passing the type of the connection ( TCP or UDP/datagram ) AND behavior ( As client or As server ) to the library and options we need to establish : - a multi clients server - client Acceptance criteria : ********************* - Network Library needs to support + TCP/IP Client AND Server using the library [login to view URL] + UDP/datagram Client AND Server using the library [login to view URL] + DNS ([login to view URL] ) + OS to support Windows 10+, Linux and MacOS - IDE + VSCODE + Identify each extensions - NPM packages + eslint + prettier + husky + git + jest + typedoc + winston + yargs or oclif - Code linting + Branches, functions and lines code coverage are set at 100% - [login to view URL] The TypeScript complied code resides under le /lib folder. The [login to view URL] file is generated based on the ./src/[login to view URL] file that export types, classes, functions, … that must ONLY be made visible to library consumers As server and As Client : =================== - Low level library - Typescript + NodeJS - be generic - asynchronous (non blocking) and scalable by take advantage of multi-core CPUs (parallelism) - resilient and fault tolerant - support multiple platform (Windows 10, linux, MacOs) - take care of the technical aspects of the communications schemes (connect, disconnect, reconnect, read, write, start/stop/pause/resume/.../Reload Config, ...) - implement timeout on connect , read, write, ... - provide logging with correlation for audit purpose and troubleshooting purpose on several targets (file, db, console with color, socket, ...) - provide reusable components implementing the building bricks of Inbound/Outbound connectors - be protocol agnostic but should provide extension points to allow the client of the library to implement their own protocols - raise event each time something occurs (error, warning, status changed, connection status changed, Received data, Transmitted Data, ...) This should mainly be based on events raised by the library - Supporting each Server Events - Supporting each Socket Events - Supporting Options config to handle the server AND Client - send / receive ascii (encode/decode - utf8 / unicode / ... ) AND binaries data - receive event : to have a process to parse the data and to trig an event ( like switch - case or xstate) - Be able to expose the status of the Client AND server - For UDP/datagram supporting unicast AND multicast - Supporting Keep a Live - Per send data to manage a timeout AND retries - be configurable through JSON config file AND cli to manage Options config (yargs : [login to view URL] OR oclif : [login to view URL] ) - unit tests : using jest ( [login to view URL] ) + unit test for TCP/IP as server / client + unit test for UDP/datagram as server / client - integration tests + to test the server / client TCP/IP AND UDP AND DNS (each event , send datas, receive datas, start, stop, pause, resume, ... the connection, time out, keep a live ) - typedoc ( [login to view URL] ) - Metrics about connection Rx, Tx, cpu load - [login to view URL] To have a document describing : + dependencies ++ mention license + link + scripts ++ compile ++ eslint ++ unit tests ++ integration tests ++ coverage + badges generation ++ commit and push ++ generate documentation with typedoc + setup + cli ++ list of the parameters with sample ++ json file per type of connection and behavior and options + samples code ++ how to select +++ type of connection, behavior, options +++ As server or Client and TCP/ip or UDP/datagram +++ DNS + logging service + License Using a third party library, You need to respect his Intellectual properties.
IČ projektu: 26890049

O projektu

Vzdálený projekt
Aktivní před 4 roky

Chcete si vydělat nějaké peníze?

Výhody podávání nabídek na Freelancer

Stanovte si rozpočet a časový rámec
Získejte za svou práci zaplaceno
Načrtněte svůj návrh
Registrace a podávání nabídek je zdarma

O klientovi

Pochází z BELGIUM
Brussels, Belgium
0,0
0
Ověřená platební metoda
Členem od lis 13, 2012

Ověření klienta

Díky! Poslali jsme vám e-mailem odkaz pro získání kreditu zdarma.
Při odesílání e-mailu se něco pokazilo. Zkuste to prosím znovu.
Registrovaných uživatelů Zveřejněných projektů
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Načítání náhledu
Bylo uděleno povolení ke geolokaci.
Vaše doba přihlášení vypršela a byli jste odhlášeni. Přihlaste se znovu.