mittenin.at – Webanwendungen in Ruby on Rails



mittenin.at – Webanwendungen in Ruby on Rails

0 0


talk-it-alliance

talk 20130305

On Github haslinger / talk-it-alliance

mittenin.at

Webanwendungen in Ruby on Rails

Stefan Haslinger / mittenin.at, 2013

Firma InformatomEDV-Dienstleistungen e.U.

  • geplant 2009, gegründet 2011
  • Entwicklung + Beratung + Schulungim Open Source Bereich
  • Webapplikationsentwicklung
  • Geschäftsprozessmodellierung

MITTENIN.AT

  • Entwicklung von Webanwendungen mit Michael Stranka
  • auf Basis Ruby on Rails

Ziel

Beispiele für Webapps

Facebook, Twitter, Xing, LinkedIn, Leo, Wikipedia Wordpress, Amazon, Ebay, Google, GMail, Google Docs, Google Calendar, Google Maps, HRS, Megaupload, Office 365, SAP Netweaver, RVL.io

 

(CMS, E-Business, Social Networks, (Meta-) Suchmaschinen, Produktivitätssoftware, ERP, CRM, Workflows, Geschäftsprozesse)

webanwendungen

Daten Logik Darstellung

MVC

werden abgebildet als

Model Controller Views

 

Implementierung

mittels Ruby on Rails

implementiert in Ruby,

objektoriert, dynamisch

NDA

Zumeist ist die für Kundengeschriebenen Software unter NDA, daher ...

Beispiel URL-Shortener

  • http://at.mittenin.at
  • ~ 1.5 Stunden Entwicklungszeit
  • User: beliebig
  • Passwort: mittenin.at
  • Aufruf mittels: http://at.mittenin.at/####

Generieren der Applikation

rails new url

Scaffolding

rails generate scaffold link url:string

Gems installieren

bundle install

Datenbank migrieren

rake db:migrate

Business Logik

Die Businesslogik beschränkt auf den Controller:
class LinksController < ApplicationController
  before_filter :authenticate, :except => [:follow]

  def authenticate
    authenticate_or_request_with_http_basic do |ignore_user, password|
      password == 'mittenin.at'
    end
  end
  
  def follow
    @link = Link.find(params[:id])
    redirect_to @link.url
  end
  

Routing

Um Aufrufe in der Form http://at.mittenin.at/42 zu erlauben, etwas Routing:
  match '(:id)', :controller => 'links', :action => 'follow'
  

 

Deployen

  • ins Git Einchecken und am Server auschecken
  • DNS-Eintrag setzen
  • Subdomain am Applikationsserver installieren
  • nochmals Gems installieren und Datenbank migrieren

That's it!

Zum Abschluss noch ein Überraschungsei.

1. Etwas zum Naschen

Für die Fülligeren unter uns:

2. Etwas zum Sparen und zum Abnehmen

http://BMI.mittenin.at

Zeit sparen: 75 Stunden Geld gespart: 1200 Euro Abgenommen: -16 kg

Tracking des Gewichts

Vergleich des BMIs

Open Source auf Github: http://at.mittenin.at/4

3. Ein kostenloses Angebot

Eine Code-Walkthrough Session, durch:

  • BMI
  • CMS
  • QM
  • Website Scraper
  • Shop
  • Workflow Engine
  • oder auch etwas ganz Anderes ....

Danke!

für die Aufmerksamkeit