Skip to content

A fullstack web framework for Nim based on Jester

Notifications You must be signed in to change notification settings

rasenx/nim-basolato

 
 

Repository files navigation

Basolato Framework


A Fullstack Web Framework for Nim based on Jester

⚠️ This is in heavy development 😬💦

To references

Language Framework
Ruby Rails
PHP Laravel
Python Masonite
Java/Scala Play
Go Revel

Table of Contents

Dependencies

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.
  • faker, generates fake data for you.

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).

Introduction

Install

nimble install https://github.com/itsumura-h/nim-basolato

Set up

First of all, add nim binary path

export PATH=$PATH:~/.nimble/bin

After install basolato, "ducere" command is going to be available.

Create project

cd /your/project/dir
ducere new

project directory will be created!

├── app
│   ├── controllers
│   │   ├── README.md
│   │   └── welcome_controller.nim
│   ├── domain
│   │   ├── models
│   │   │   ├── README.md
│   │   │   ├── di_container.nim
│   │   │   └── value_objects.nim
│   │   └── usecases
│   │       └── README.md
│   └── middlewares
│       ├── README.md
│       ├── custom_headers_middleware.nim
│       └── framework_middleware.nim
├── config.nims
├── main.nim
├── migrations
│   ├── README.md
│   ├── migrate.nim
│   └── migration0001sample.nim
├── public
│   ├── README.md
│   ├── basolato.svg
│   ├── css
│   ├── favicon.ico
│   └── js
├── resources
│   ├── README.md
│   ├── layouts
│   │   ├── application.nim
│   │   └── head.nim
│   └── pages
│       └── welcome_view.nim
├── {project_name}.nimble
└── tests

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

Documents

Dev roadmap

Version Content
v1.0 Support Clean architecture, Tactical DDD
v2.0 Support GraphQL

About

A fullstack web framework for Nim based on Jester

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nim 99.7%
  • Other 0.3%