The highly productive Julia web framework

Genie is a full-stack MVC web framework that promotes a streamlined and efficient workflow for developing modern web applications.

Get started with Genie

Fork repo Star on GitHub


Getting Started with Genie

1. Create a New App

              
julia> Pkg.clone("https://github.com/essenciary/Genie.jl") # Get Genie
julia> using Genie # Bring Genie into scope

julia> Genie.REPL.new_app("your_cool_new_app") # Genie will create a new app called "your_cool_new_app" and start an interactive session.
              
            

2. Say Hello

              
# append this to /your_cool_new_app/config/routes.jl
route("/hello") do
  "Hello - Welcome to Genie!"
end
              
            

3. Ready!

              
genie> AppServer.startup()
Listening on 0.0.0.0:8000...

# Visit http://localhost:8000/hello in your favorite browser
              
            

Complete toolset for productive web development

SearchLight ORM

SearchLight ORM

Build DB agnostic apps with Genie's powerful and expressive ORM.

Read more
Flax View Templates

Flax View Templates

Familiar HTML based, flexible and fast (compiled fast!) view templates.

Read more
Web Server

Web Server

Fast, flexible, non-blocking HTTP and WebSockets server included.

Read more
REST APIs

REST APIs

Expose your model data with succint and expressive JSON data templates.

Read more
Channels

Channels

Real-time apps over WebSockets using the familiar MVC architecture.

Read more
Authentication

Authentication

Easily add authentication to a whole app. Or to sensitive features only.

Read more
Caching

Caching

Cache enable expensive operations with just one line of code using cache blocks.

Read more
Authorization

Authorization

Simple and powerful user authorization based on flexible ACLs.

Read more
Logging

Logging

Powerful logging = priceless insight into your app's inner workings.

Read more
Database migrations

Database migrations

Stress-free DB versioning in pure SQL with Genie's migrations tools.

Read more
Model validations

Model validations

Guaranteed data integrity with pure Julia model validations.

Read more
Command line apps

Command line apps

Complete toolset for creating fully featured command line utilities.

Read more
Asset pipeline

Asset pipeline

Fully integrated asset management with Yarn and Webpack.

Read more
Routing

Powerful routing

With optional strong typed params, lambdas or full Controller dispatch.

Read more
File generators

Generators

Get up and running in minutes with Genie's powerful file generators.

Read more
Configuration

Configurable

Control your app via dev, test and production predefined environments.

Read more

What next?

The docs

The docs

Check out the guides, try the sample apps or study the API docs.

Read the docs
The docs

Contribute

Fork Genie on GitHub and add your favorite new features or squash some bugs.

Visit GitHub page
Get in touch

Get in touch

Come say "Hi!" -- join Genie's community on Gitter.

Go to Gitter