All Projects โ†’ itsumura-h โ†’ Nim Basolato

itsumura-h / Nim Basolato

An asynchronous fullstack web framework for Nim.

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to Nim Basolato

nodejs-hexagonal-architecture-and-unit-test
This is a project to explain hexagonal architecture and unit tests in node.js
Stars: โœญ 99 (-10.81%)
Mutual labels:  clean-architecture, ddd-architecture
Dev Stuff
๐Ÿ˜Ž Programming stuff for everyone. Collection of articles, videos about architecture, Domain Driven Design, microservices, testing etc.
Stars: โœญ 105 (-5.41%)
Mutual labels:  clean-architecture, ddd-architecture
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: โœญ 8,250 (+7332.43%)
Mutual labels:  clean-architecture, ddd-architecture
Clean Architecture Manga
๐ŸŒ€ Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: โœญ 3,104 (+2696.4%)
Mutual labels:  clean-architecture, ddd-architecture
Aah
A secure, flexible, rapid Go web framework
Stars: โœญ 647 (+482.88%)
Mutual labels:  webframework, mvc-framework
Netcorekit
๐Ÿ’— A crafted toolkit for building cloud-native apps on the .NET platform
Stars: โœญ 248 (+123.42%)
Mutual labels:  clean-architecture, ddd-architecture
Jivejdon
Jivejdon is a Domain Driven Design appication with CQRS/ES/Clean/Hexagonal architecture
Stars: โœญ 287 (+158.56%)
Mutual labels:  clean-architecture, ddd-architecture
Flutter Roadmap
This is a flutter roadmap and documentation repository. If anyone is interested you can join the party to help the community and make flutter great again.
Stars: โœญ 47 (-57.66%)
Mutual labels:  clean-architecture, ddd-architecture
Cp Ddd Framework
A lightweight flexible development framework for complex business architecture with full ecosystem๏ผ่ฝป้‡็บงไธšๅŠกไธญๅฐๅผ€ๅ‘ๆก†ๆžถ๏ผŒไธญๅฐๆžถๆž„็š„้กถๅฑ‚่ฎพ่ฎกๅ’ŒๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆ๏ผ
Stars: โœญ 566 (+409.91%)
Mutual labels:  clean-architecture, ddd-architecture
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: โœญ 6,210 (+5494.59%)
Mutual labels:  clean-architecture, ddd-architecture
Run Aspnetcore
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD best practices. Download 100+ page eBook PDF from here ->
Stars: โœญ 227 (+104.5%)
Mutual labels:  clean-architecture, ddd-architecture
Practical Clean Ddd
A simplified and effortless approach to get started with Domain-driven Design, Clean Architecture, CQRS, and Microservices patterns
Stars: โœญ 28 (-74.77%)
Mutual labels:  clean-architecture, ddd-architecture
Run Aspnetcore Realworld
E-Commerce real world example of run-aspnetcore ASP.NET Core web application. Implemented e-commerce domain with clean architecture for ASP.NET Core reference application, demonstrating a layered application architecture with DDD best practices. Download 100+ page eBook PDF from here ->
Stars: โœญ 208 (+87.39%)
Mutual labels:  clean-architecture, ddd-architecture
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: โœญ 1,594 (+1336.04%)
Mutual labels:  clean-architecture, ddd-architecture
Go Realworld Clean
a clean architecture implementation of the realworldapp : https://github.com/gothinkster/realworld
Stars: โœญ 301 (+171.17%)
Mutual labels:  clean-architecture, ddd-architecture
Actframework
An easy to use Java MVC server stack
Stars: โœญ 690 (+521.62%)
Mutual labels:  webframework, mvc-framework
Aspnet Core Clean Arch
It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
Stars: โœญ 60 (-45.95%)
Mutual labels:  clean-architecture, ddd-architecture
Study Path
An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture
Stars: โœญ 1,357 (+1122.52%)
Mutual labels:  clean-architecture
Polysemycleanarchitecture
Showcasing how the Polysemy library can be used to implement a REST application conforming to the guidelines of the Clean Architecture model.
Stars: โœญ 106 (-4.5%)
Mutual labels:  clean-architecture
Luna
Yet another web frameworkโ€”this time in modern C++!
Stars: โœญ 99 (-10.81%)
Mutual labels:  webframework

Basolato Framework


An asynchronous full-stack web framework for Nim, based on asynchttpserver.

โš ๏ธ This project is under heavy development. It's not yet production-ready. โš ๏ธ

Table of Contents

Introduction

Basolato extends asynchttpserver, an implements a high performance asynchronous HTTP server in Nim std library, while also adding features for full-stack development. It was also heavily inspired by other frameworks:

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

Set up your environment

In order to start using Basolato, you'll first need a working Nim installation. You can find installation instructions for Nim here. Once installed, make sure Nimble, Nim's package manager, is already in your PATH. If not, add .nimble/bin in your favorite shell.

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

Dependencies

The framework depends on several libraries (installed automatically by Nimble):

  • nim-templates, a simple string templating library.
  • allographer, a library for building queries.
  • flatdb, a small Flatfile database, used for sessions.
  • bcrypt, used for hashing passwords.
  • nimAES, for AES support.
  • faker, for generating fake data.

The following libraries can be used for making views:

Installation

You can install Basolato easily using Nimble:

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

After installing Basolato, you should have access to the ducere command on your shell.

Creating projects

Using ducere you can easily create a template project structure to start development right away. Ducere will generate a folder automatically using your project name.

cd /your/project/dir
ducere new {project_name}

The overall file structure is as follows:

โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ app
โ”‚   โ”œโ”€โ”€ controllers
โ”‚   โ”‚   โ”œโ”€โ”€ README.md
โ”‚   โ”‚   โ””โ”€โ”€ welcome_controller.nim
โ”‚   โ”œโ”€โ”€ domain
โ”‚   โ”‚   โ”œโ”€โ”€ di_container.nim
โ”‚   โ”‚   โ”œโ”€โ”€ models
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ README.md
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ value_objects.nim
โ”‚   โ”‚   โ”œโ”€โ”€ query_services
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ README.md
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ query_service_interface.nim
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ rdb_query_service.nim
โ”‚   โ”‚   โ””โ”€โ”€ usecases
โ”‚   โ”‚       โ””โ”€โ”€ README.md
โ”‚   โ””โ”€โ”€ middlewares
โ”‚       โ”œโ”€โ”€ README.md
โ”‚       โ”œโ”€โ”€ auth_middleware.nim
โ”‚       โ””โ”€โ”€ custom_headers_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_view.nim
โ”‚   โ”‚   โ””โ”€โ”€ head_view.nim
โ”‚   โ””โ”€โ”€ pages
โ”‚       โ””โ”€โ”€ welcome_view.nim
โ”œโ”€โ”€ session.db
โ”œโ”€โ”€ {project_name}.nimble
โ””โ”€โ”€ tests
    โ””โ”€โ”€ test_sample.nim

With your project ready, you can start serving requests using ducere:

ducere serve # includes hot reloading

Or by compiling through Nim:

nim c -r main

Documentation

Benchmark

Roadmap

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

Development

Generate TOC of documents

Run.

nimble setupTool # Build docker image
nimble toc # Generate TOC
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].