diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..12123b5
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "reveal.js"]
+ path = reveal.js
+ url = https://github.com/hakimel/reveal.js.git
diff --git a/rest-reveal/index.html b/rest-reveal/index.html
new file mode 100644
index 0000000..793b413
--- /dev/null
+++ b/rest-reveal/index.html
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+ ReST - Restructured State Transfer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ReST
+ Restructured State Transfer
+
+
+
+
+ - Criado por Roy Fielding em 2000.
+ - Fielding trabalhou na definição do HTTP e no início do projeto Apache.
+
+
+
+
+
+ O que é ReST?
+
+
+
+
+
+ É uma "arquitetura de transmissão de dados sobre HTTP.
+
+
+
+ ("Conjunto de idéias para utilizar HTTP para geração de APIs.")
+
+
+
+
+
+ Linguagem? Qualquer!
+
+
+
+ - Python: Flask, Django, Flask-Restless, Django Rest Framework
+ - Ruby: Ruby on Rails, Sinatra
+ - Java: Spring, Restlet, Jersey
+ - C#: Ramone
+ - Nodejs: Express
+ - Rust: Rustful
+
+
+
+
+
+
+ ReST e HTTP
+
+
+
+
+
+ - Métodos HTTP = operação de banco de dados (CRUD).
+ - Status das operações são status HTTP.
+ - Meta-informações podem ser enviadas nos headers.
+
+ - Atenticação é feita por HTTP auth.
+
+
+ - Sem transações/sessões -- todas as operações são atômicas.
+
+
+
+
+ Em HTTP, usam-se métodos para descrever o que quer ser feito:
+
+
+ - POST requisita informações, com conteúdo.
+ - GET requisita informações, sem conteúdo.
+
+
+ (Ainda: PUT, DELETE, HEAD, TRACE, PATCH, OPTIONS)
+
+
+
+ Em ReST, métodos HTTP viram CRUD:
+
+
+
+ Operação | Método |
+
+
+
+ Create | POST |
+ Retrieve | GET |
+ Update | PUT |
+ Delete | DELETE |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reveal.js b/reveal.js
new file mode 160000
index 0000000..131c006
--- /dev/null
+++ b/reveal.js
@@ -0,0 +1 @@
+Subproject commit 131c00689a4c7a18e5c991fc8102347e4594b5d4