{"size": 1476, "ext": "scrbl", "max_stars_repo_path": "vela-doc/vela/vela.scrbl", "max_stars_repo_name": "worktopia-io/vela", "max_stars_repo_stars_event_min_datetime": "2019-04-29T12:41:38.000Z", "max_stars_repo_stars_event_max_datetime": "2022-01-22T06:25:33.000Z", "max_issues_repo_path": "vela-doc/vela/vela.scrbl", "max_issues_repo_name": "worktopia-io/vela", "max_issues_repo_issues_event_min_datetime": "2020-02-14T10:23:15.000Z", "max_issues_repo_issues_event_max_datetime": "2020-04-09T11:04:43.000Z", "max_forks_repo_path": "vela-doc/vela/vela.scrbl", "max_forks_repo_name": "nuty/vela", "max_forks_repo_forks_event_min_datetime": "2020-04-09T06:47:23.000Z", "max_forks_repo_forks_event_max_datetime": "2022-01-25T10:33:06.000Z"}
{"max_stars_count": 48, "max_issues_count": 2, "max_forks_count": 3, "avg_line_length": 18.45, "max_line_length": 100, "alphanum_fraction": 0.6707317073}
#lang scribble/manual
@(require scribble/eval
          (for-label racket
                     vela))


@title[#:style '(toc)]{Vela: Simple web framework}
@author[(author+email "(Rosso)" "answerw16@gmail.com")]


@larger{
  @bold{
   Overview
  }
}

Vela is a web application framework. It is designed to make getting started quick and easy, 
with the ability to scale up to complex applications. is began as simple wrapper around web-server  
the goal is become a useful Racket web application framework.


@larger{
  @bold{
    Features
  }
}


@itemlist[#:style 'ordered
    @item{@italic{Web handlers with Function or Class.}}
    @item{@italic{Friendly way to define URL routers.}}
    @item{@italic{Pluggable middlewares when request and response.}}
    @item{@italic{Request params check and collector.}}
    @item{@italic{Entirely on the racket webserver lib.}}
]


@section{Quickstart}

@larger{ 
  @bold{
   Installation
  }
}

To install Vela from the command line:


@codeblock|{
  raco pkg install vela
}|


A minimal app like this:

@filebox["app.rkt"]{
  @codeblock|{
  #lang racket

  (require vela)

  (define index
    (lambda (req)
      (jsonify (hash 'code 200 'msg "hello world!" ))))

  (define routers
    (urls
      (url "/" index "index")))

  (app-run routers #:port 8000)
  }|
}



@include-section["handler.scrbl"]
@include-section["url.scrbl"]
@include-section["response.scrbl"]
@include-section["middleware.scrbl"]
@include-section["app.scrbl"]