Giter Club home page Giter Club logo

dart_on_rails's Introduction

Dart on Rails

This repository contains an example project for applying the Rails MVC paradigm with server-side Dart.

Routing

We use Shelf Router to define our routes.

Update routes

Edit the lib/config/routes.dart file to update your routes definitions.

Controllers

We use Shelf to define our controllers.

Add a controller

Add the new controller file in the lib/app/controllers folder and update the rollup file to expose it.

Make sure the methods of the controller are static and adhere to the Handler signature.

eg.

class Resource {
  static Future<Response> index(Request request) async {
    return Response.ok('Hello World!');
  }
}

Note: although it is not necessary, please avoid appending the Controller suffix to the controller class name. It will make the code more readable and also when you use it in the routes file, it will look more fluent.

Models

We use Prisma to define our data models and generate the database schema.

Update schema

Edit the prisma/schema.prisma file to define your data model.

eg.

model User {
   id Int @id @default(autoincrement())
   name String
   email String @unique
}

Generate Prisma Client

$ ./tools/model_gen.sh

Migrate database

$ ./tools/migrate.sh

Views

We use jinja to define our views. This will change in the future.

Add a view

Add the new view file{s} in the lib/app/views folder by creating the resource folder and naming it the same as the controller file (eg. posts/, users etc).

dart_on_rails's People

Contributors

esarbanis avatar

Stargazers

Andres Araujo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.