webfren

1.0.0 • Public • Published

About




webfren is a collection of tools helping developers create web applications much easier. All tools are available through webfren CLI.




✨ Features

✅ - Available      🔄 - In Development      📝 - Planned

  • HTTP Load tester - tool allowing to make stress and load test of API endpoints
  • Web Server - simulator of a real web server
  • 🔄 Load balancer - simulator of a load balancer
  • 📝 Message Broker - simulator of a Message Broker
  • 📝 Redis clone - clone of Redis

🚀 Getting started

Install webfren globally:

$ npm i -g webfren

And it will be ready to use in your terminal!

$ webfren

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Usage: webfren [options] [command]

Options:
  -V, --version                                output the version number
  -h, --help                                   display help for command

Commands:
  http-load-test <url> <n>                     executes HTTP load test
  load-balancer <port> <servers>               runs load balancer and handles requests to multiple servers
  web-server <port> <route> <contentFilePath>  runs web server and hosts provided html content
  help [command]  

📖 Docs

http-load-test

Executes HTTP load test on specified endpoint. You can also provide number of requests (n) that will be sent to your endpoint. This tool can help to check locally if our app can handle multiple concurrent requests. Currently webfren allows to sent only GET requests.

Example

Command

$ webfren http-load-test https://example.com 100

Result

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Http Load Test is running...

Done!

Test stats:
   Num. of success requests: 100
   Num. of failed requests: 0
   Avg. response time: 0.01 ms

load-balancer

Runs Load Balancer handling requests load to specified server addresses. This tool can help to check locally if our app will work correctly when load balancing mechanism will be introduced. Currently requests are sent ro randomly selected server.

Example

Command

$ webfren load-balancer 9000 "https://example.com|https://example.test.com"

Result on user request on http://127.0.0.1:9000:

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Load Balancer is running:
   Port: 9000

Requests:
   Path: /               Redirected to: https://example.com/ Response: 200

web-server

Runs Web Server allowing you to host selected html content. This tool can help when you would like to check locally how your HTML web page will be displayed by web server.

Example

Content of used html file:

<h1>Hello</h1>

Command

$ webfren web-server 8000 /home home.html 

Result on user request on http://127.0.0.1:8000/home:

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Web Server is running:
   Port: 8000

Requests:
   Path: /home           Response: 200 -> home.html

🚧 Roadmap

➡️   01.03.2024 - 16.03.2024 - HTTP Load Tester v1

➡️   16.03.2024 - 30.03.2024 - Web Server v1

   ➡️   30.03.2024 - 08.04.2024 - Load Balancer v1

➡️   08.04.2024 - 18.04.2024 - HTTP Load Tester v2

➡️   18.04.2024 - 30.05.2024 - Web Server v2

➡️   30.05.2024 - 12.05.2024 - Load Balancer v2

➡️   12.05.2024 - 23.05.2024 - HTTP Load Tester v3

...



Project created for 100commits contest

Readme

Keywords

Package Sidebar

Install

npm i webfren

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

79.6 kB

Total Files

94

Last publish

Collaborators

  • brtlmiej