diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..655bc67
Binary files /dev/null and b/.DS_Store differ
diff --git a/tutorials/FoilSim-Applet/FoilSim.jar b/tutorials/FoilSim-Applet/FoilSim.jar
new file mode 100644
index 0000000..2051df9
Binary files /dev/null and b/tutorials/FoilSim-Applet/FoilSim.jar differ
diff --git a/tutorials/FoilSim-Applet/README.md b/tutorials/FoilSim-Applet/README.md
new file mode 100644
index 0000000..5cf6a62
--- /dev/null
+++ b/tutorials/FoilSim-Applet/README.md
@@ -0,0 +1,9 @@
+# CheerpJ example: FoilSim Applet
+
+This example shows how to use CheerpJ to run a Java applet in the browser.
+
+Find the step-by-step on our [documentation website](https://labs.leaningtech.com/cheerpj3/examples/applet).
+
+
+## Credits
+The applet used for this tutorial belongs to the NASA's [Beginner's Guide to Aeronautics](https://www.grc.nasa.gov/WWW/K-12/airplane/) and it is available at their [GitHub repository](https://github.com/nasa/BGA/tree/main).
\ No newline at end of file
diff --git a/tutorials/FoilSim-Applet/index.html b/tutorials/FoilSim-Applet/index.html
new file mode 100644
index 0000000..47f9810
--- /dev/null
+++ b/tutorials/FoilSim-Applet/index.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+ FoilSim applet (CheerpJ)
+
+
+
+
+
+
+
Applet example with CheerpJ
+
+
+ Your browser cannot handle the applet tag!
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tutorials/Pitch-Applet/Pitch.jar b/tutorials/Pitch-Applet/Pitch.jar
new file mode 100644
index 0000000..6e72c25
Binary files /dev/null and b/tutorials/Pitch-Applet/Pitch.jar differ
diff --git a/tutorials/Pitch-Applet/README.md b/tutorials/Pitch-Applet/README.md
new file mode 100644
index 0000000..017855a
--- /dev/null
+++ b/tutorials/Pitch-Applet/README.md
@@ -0,0 +1,10 @@
+# CheerpJ example: Pitch Applet
+
+This example shows how to use CheerpJ to run a Java applet in the browser.
+
+Find the step-by-step on our [documentation website](https://labs.leaningtech.com/cheerpj3/examples/applet).
+
+The JNLP version of this tutorial is [available here](https://labs.leaningtech.com/cheerpj3/examples/jnlp#jnlp-applet-pitch).
+
+## Credits
+The applet used for this tutorial belongs to the NASA's [Beginner's Guide to Aeronautics](https://www.grc.nasa.gov/WWW/K-12/airplane/) and it is available at their [GitHub repository](https://github.com/nasa/BGA/tree/main).
\ No newline at end of file
diff --git a/tutorials/Pitch-Applet/index.html b/tutorials/Pitch-Applet/index.html
new file mode 100644
index 0000000..863392a
--- /dev/null
+++ b/tutorials/Pitch-Applet/index.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+ Pitch applet (CheerpJ)
+
+
+
+
+
+
+
Applet example with CheerpJ
+
+
+ Your browser cannot handle the applet tag!
+
+
+
+
+
+
diff --git a/tutorials/README.md b/tutorials/README.md
new file mode 100644
index 0000000..e203cd4
--- /dev/null
+++ b/tutorials/README.md
@@ -0,0 +1,15 @@
+# CheerpJ tutorials
+
+This repository holds a collection of the CheerpJ tutorials available on [our documentation website](https://labs.leaningtech.com/cheerpj3/examples). These examples will help you to put hands-on simple projects with CheerpJ and run a variety of Java applets and applications in the browser, including those that require networking.
+
+
+
+| Tutorial | Description |
+| ----------- | ----------- |
+| [FoilSim Applet](https://labs.leaningtech.com/cheerpj3/examples/applet) | How to run a Java applet in the browser. |
+| [Pitch Applet](https://labs.leaningtech.com/cheerpj3/examples/jnlp#jnlp-applet-pitch) | How to run a JNLP applet in the browser. |
+| [Server-Client](https://labs.leaningtech.com/cheerpj3/examples/serverclient) | How to run two Java applications that communicate with each other (tab-to-tab).|
+| [Swing-Browser](https://labs.leaningtech.com/cheerpj3/examples/java-browser) | How to run a Java application in the browser with an internet connection. |
+| [SwingSet3](https://labs.leaningtech.com/cheerpj3/examples/swingset3) | How to run a Swing application in the browser. |
+
+We have a vibrant [Discord community](https://discord.com/invite/qBMHpK9Kqv) where you can ask questions, share your projects, and get community support.
diff --git a/tutorials/Server-Client/Client/Client.jar b/tutorials/Server-Client/Client/Client.jar
new file mode 100644
index 0000000..4e71081
Binary files /dev/null and b/tutorials/Server-Client/Client/Client.jar differ
diff --git a/tutorials/Server-Client/Client/client.html b/tutorials/Server-Client/Client/client.html
new file mode 100644
index 0000000..6173264
--- /dev/null
+++ b/tutorials/Server-Client/Client/client.html
@@ -0,0 +1,26 @@
+
+
+
+
+ Client
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tutorials/Server-Client/README.md b/tutorials/Server-Client/README.md
new file mode 100644
index 0000000..43f0042
--- /dev/null
+++ b/tutorials/Server-Client/README.md
@@ -0,0 +1,8 @@
+# CheerpJ networking example: Server-Client communication
+
+This example shows how to use CheerpJ to run two Java applications that communicate with each other.
+
+Find the step-by-step tutorial on our [documentation website](https://labs.leaningtech.com/cheerpj3/examples/serverclient).
+
+## Credits
+The Java applications used in this networking tutorial belong to [TechVidvan](https://techvidvan.com/tutorials/). You can find their tutorial with the source code [here](https://techvidvan.com/tutorials/java-chat-application/). Some minor edits have been made to adapt to this tutorial.
\ No newline at end of file
diff --git a/tutorials/Server-Client/Server/.DS_Store b/tutorials/Server-Client/Server/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/tutorials/Server-Client/Server/.DS_Store differ
diff --git a/tutorials/Server-Client/Server/Server.jar b/tutorials/Server-Client/Server/Server.jar
new file mode 100644
index 0000000..599d754
Binary files /dev/null and b/tutorials/Server-Client/Server/Server.jar differ
diff --git a/tutorials/Server-Client/Server/server.html b/tutorials/Server-Client/Server/server.html
new file mode 100644
index 0000000..afd9cb4
--- /dev/null
+++ b/tutorials/Server-Client/Server/server.html
@@ -0,0 +1,24 @@
+
+
+
+
+ Server
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tutorials/Swing-Browser/README.md b/tutorials/Swing-Browser/README.md
new file mode 100644
index 0000000..4610995
--- /dev/null
+++ b/tutorials/Swing-Browser/README.md
@@ -0,0 +1,5 @@
+# CheerpJ networking example: Swing Browser
+
+This example shows how to use CheerpJ to run a Java application in the browser with an internet connection.
+
+Find the step-by-step tutorial on our [documentation website](https://labs.leaningtech.com/cheerpj3/examples/java-browser).
diff --git a/tutorials/Swing-Browser/SwingHTMLBrowser.jar b/tutorials/Swing-Browser/SwingHTMLBrowser.jar
new file mode 100644
index 0000000..ad0ca99
Binary files /dev/null and b/tutorials/Swing-Browser/SwingHTMLBrowser.jar differ
diff --git a/tutorials/Swing-Browser/browser.html b/tutorials/Swing-Browser/browser.html
new file mode 100644
index 0000000..cfd98a1
--- /dev/null
+++ b/tutorials/Swing-Browser/browser.html
@@ -0,0 +1,20 @@
+
+
+
+
+ Browser
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tutorials/SwingSet3/README.md b/tutorials/SwingSet3/README.md
new file mode 100644
index 0000000..9713ae2
--- /dev/null
+++ b/tutorials/SwingSet3/README.md
@@ -0,0 +1,9 @@
+# CheerpJ example: SwingSet3
+
+This example shows how to use CheerpJ to run a Swing application in the browser.
+
+You can find the full tutorial on our [documentation page](/cheerpj3/examples/swingset3).
+
+The JNLP version of this tutorial is [available here](https://labs.leaningtech.com/cheerpj3/examples/jnlp#jnlp-application-swingset3).
+
+
diff --git a/tutorials/SwingSet3/SwingSet3.jar b/tutorials/SwingSet3/SwingSet3.jar
new file mode 100644
index 0000000..b1aa31d
Binary files /dev/null and b/tutorials/SwingSet3/SwingSet3.jar differ
diff --git a/tutorials/SwingSet3/index.html b/tutorials/SwingSet3/index.html
new file mode 100644
index 0000000..18b4fe9
--- /dev/null
+++ b/tutorials/SwingSet3/index.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tutorials/SwingSet3/lib/AnimatedTransitions.jar b/tutorials/SwingSet3/lib/AnimatedTransitions.jar
new file mode 100644
index 0000000..b7f9faf
Binary files /dev/null and b/tutorials/SwingSet3/lib/AnimatedTransitions.jar differ
diff --git a/tutorials/SwingSet3/lib/AppFramework.jar b/tutorials/SwingSet3/lib/AppFramework.jar
new file mode 100644
index 0000000..2cfeae5
Binary files /dev/null and b/tutorials/SwingSet3/lib/AppFramework.jar differ
diff --git a/tutorials/SwingSet3/lib/Filters.jar b/tutorials/SwingSet3/lib/Filters.jar
new file mode 100644
index 0000000..e69de29
diff --git a/tutorials/SwingSet3/lib/MultipleGradientPaint.jar b/tutorials/SwingSet3/lib/MultipleGradientPaint.jar
new file mode 100644
index 0000000..e69de29
diff --git a/tutorials/SwingSet3/lib/TimingFramework.jar b/tutorials/SwingSet3/lib/TimingFramework.jar
new file mode 100644
index 0000000..a1b5d75
Binary files /dev/null and b/tutorials/SwingSet3/lib/TimingFramework.jar differ
diff --git a/tutorials/SwingSet3/lib/javaws.jar b/tutorials/SwingSet3/lib/javaws.jar
new file mode 100644
index 0000000..c9b1337
Binary files /dev/null and b/tutorials/SwingSet3/lib/javaws.jar differ
diff --git a/tutorials/SwingSet3/lib/swing-layout-1.0.jar b/tutorials/SwingSet3/lib/swing-layout-1.0.jar
new file mode 100644
index 0000000..e69de29
diff --git a/tutorials/SwingSet3/lib/swing-worker.jar b/tutorials/SwingSet3/lib/swing-worker.jar
new file mode 100644
index 0000000..7da977f
Binary files /dev/null and b/tutorials/SwingSet3/lib/swing-worker.jar differ
diff --git a/tutorials/SwingSet3/lib/swingx.jar b/tutorials/SwingSet3/lib/swingx.jar
new file mode 100644
index 0000000..5cc35e0
Binary files /dev/null and b/tutorials/SwingSet3/lib/swingx.jar differ