A Fullstack Web Framework for Nim based on Jester
To references
Language | Framework |
---|---|
Ruby | Rails |
PHP | Laravel |
Python | Masonite |
Java/Scala | Play |
Go | Revel |
Table of Contents
This framework depends on following libralies
- Jester, Micro web framework.
- nim-templates, A simple string templating library
- allographer, Query builder library.
- flatdb, a small flatfile, inprocess database for nim-lang, as session DB.
- bcrypt, useful for hashing passwords.
- nimAES, Advanced Encryption Standard.
Following libralies are another options to create view.
- Karax, Single page applications for Nim, as view.
- react.nim, React.js bindings for Nim.
- react-16.nim, React 16.x bindings for Nim 1.0 with example app (WIP).
nimble install https://github.com/itsumura-h/nim-basolato
First of all, add nim binary path
export PATH=$PATH:~/.nimble/bin
After install basolato, "ducere" command is going to be available.
cd /your/project/dir
ducere new
project directory will be created!
├── app
│ ├── controllers
│ └── models
├── config.nims
├── main.nim
├── middleware
│ ├── custom_headers_middleware.nim
│ └── framework_middleware.nim
├── migrations
│ ├── migrate.nim
│ └── migration0001.nim
├── public
└── resources
You can specify project direcotry name
cd /your/project/dir
ducere new project_name
>> create project to /your/project/dir/project_name
run server
ducere serve # hot reload available
or
nim c -r main
- ducere CLI tool
- Routing
- Controller
- Middleware
- Headers
- Model
- Migration
- View
- Error
- Validation
- Security(CsrfToken, Cookie, Session, Auth)
- Helper
Version | Content |
---|---|
v1.0 | Support Three-layer architecture (generally called as MVC) |
v2.0 | Support Clean architecture, Tactical DDD |
v3.0 | Support GraphQL |