mustafa alternatives and similar shards
Based on the "Web Frameworks" category.
Alternatively, view mustafa alternatives based on common mentions on social networks and blogs.
-
amethyst
Amethyst is a Rails inspired web-framework for Crystal language -
lucky
A full-featured Crystal web framework that catches bugs for you, runs incredibly fast, and helps you write code that lasts. -
amber
A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance. -
kemalyst
A Rails like framework inspired by Kemal but includes the kitchen sink -
spider-gazelle
A Rails esque web framework with a focus on speed and extensibility for crystal lang -
moonshine
Web framework for Crystal language [DEPRECATED in favour of kemal] -
lattice-core
A WebSocket-first object-oriented framework for Crystal -
runcobo
An api framework with type-safe params, elegant json serializer. Thanks for enjoying it! ๐ป๐ป https://runcobo.github.io/docs/ -
Shivneri
Component based MVC web framework based on fort architecture targeting good code structures, modularity & performance.
Access the most powerful time series database as a service
Do you think we are missing an alternative of mustafa or a related project?
Popular Comparisons
README
MustafaVC
Mustafa is MVC Framework for Crystal
Please contribute project. MustafaVC Fork
Getting Started :sunglasses:
Download Visual Studio Code and add Crystal extension for faster coding with snippets.
Add your shard.yml
and install lib. Yes it's ready! Build your MVC project.
For more information, you can see Mustafa Wiki
Installation :star:
Add this to your application's shards.yml
dependencies:
mustafa:
github: guvencenanguvenal/mustafa
branch: master
Route :rocket:
call controller which name is Welcome
http://localhost/welcome/hello
call controller which name is Welcome and run action(method) which name is "hello"
http://localhost/welcome/hello/param1/param2
call controller which name is Welcome and run action(method) which name is "hello" and..
Input.params[0] => "param1"
Input.params[1] => "param2"
Note: params is not get or post
Configuration or Use Template :mag_right:
Configuration file is config.cr on src/mustafa/config/config.cr
DEFAULT_CONTROLLER = "your default controller" #this controller is default which response http://localhost/
MODULE_NAME = "your module name"
VIEW_PATH = "src/your module name/view" # ./src/mustafa/view/ecr_file.ecr
and choose your localhost
LOCALHOST_ADDRESS = "0.0.0.0"
or
You can use Mustafa Template to faster start.
Super Simple :checkered_flag:
Model
Model name must be capitalized case (first letter is upper, other letters is lower)
Welcomemodel.cr
class Welcomemodel < Core::Model
init Welcomemodel, Core::Model::Scope::Singleton
def hello
puts "hello"
end
end
Controller
Controller name must be capitalized case (first letter is upper, other letters is lower)
Welcomecontroller.cr
class Welcomecontroller < Core::Controller
init Welcomecontroller
action "index" do
Core.loader.library(Customlib) do |library|
library.as(Customlib).foo
end
Core.loader.model(Welcomemodel) do |model|
model.as(Welcomemodel).hello
end
Core.loader.view(self, Welcomeview)
end
end
View
View has a class and an ECR File
Welcomeview.cr
class Welcomeview < Core::View
init "Welcome.ecr"
def load
if (view_params["key"] == "value")
puts "hello" #put hello on terminal
end
end
end
Welcome.ecr
Selam, <%= @view_params["key"] %>! # value
Run, go go go
Yourproject.cr
require "mustafa"
#And require your controller, view and model files
module Yourproject
Mustafa.run
end
What's new with the new version
- Create your custom library
- Select your model scope
- New loader system
- It's now faster than before
TODO
[ ] Library improve
[ ] Database Library improve
[ ] Oracle Driver implement
[ ] add UserControl
Contribute
Please fork project MustafaVC
Thanks
Thanks porras/session for session and encoder class.
Thanks logomakr.com for logo.