(window.webpackJsonp=window.webpackJsonp||[]).push([[244],{616:function(t,e,r){"use strict";r.r(e);var o=r(42),a=Object(o.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"getting-started"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[t._v("#")]),t._v(" Getting Started "),r("seo")],1),t._v(" "),r("p",[t._v("Welcome to 🌱Oat++")]),t._v(" "),r("h2",{attrs:{id:"the-recommended-way-to-go"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#the-recommended-way-to-go"}},[t._v("#")]),t._v(" The recommended way to go")]),t._v(" "),r("ol",[r("li",[r("p",[t._v("Install "),r("strong",[t._v("oatpp")]),t._v(":")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/docs/installation/unix-linux/"}},[t._v("Unix/Linux")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/docs/installation/windows/"}},[t._v("Windows")])],1),t._v(" "),r("li",[t._v("For exotic platforms look for stories on the "),r("RouterLink",{attrs:{to:"/supported-platforms/"}},[t._v("Supported Platforms")]),t._v(" page.")],1)])]),t._v(" "),r("li",[r("p",[t._v("Take a look at:")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/docs/start/high-level-overview/"}},[t._v("High Level Overview")]),t._v(" - Learn about the main components and features of Oat++.")],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/docs/start/step-by-step/"}},[t._v("Step By Step Guide")]),t._v(" - How to create an Oat++ project from scratch. Get more low-level details.")],1)])]),t._v(" "),r("li",[r("p",[t._v("Check out "),r("RouterLink",{attrs:{to:"/docs/start/#examples"}},[t._v("examples")]),t._v(" and starter-projects:")],1),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/docs/start/project/"}},[t._v("Starter Project - Simple API")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/docs/start/project-async-api/"}},[t._v("Starter project - Async API")])],1)])]),t._v(" "),r("li",[r("p",[t._v("👉Join dev community and don't hesitate to ask questions - "),r("a",{attrs:{href:"https://gitter.im/oatpp-framework/Lobby",target:"_blank",rel:"noopener noreferrer"}},[t._v("chat on Gitter"),r("OutboundLink")],1),t._v("👈✌️")])])]),t._v(" "),r("h2",{attrs:{id:"examples"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[t._v("#")]),t._v(" Examples")]),t._v(" "),r("h3",{attrs:{id:"rest-api"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rest-api"}},[t._v("#")]),t._v(" REST-API")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-api-client",target:"_blank",rel:"noopener noreferrer"}},[t._v("ApiClient Demo"),r("OutboundLink")],1),t._v(" - Example project of how-to use Retrofit-like client wrapper (ApiClient) and how it works.")]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-async-api",target:"_blank",rel:"noopener noreferrer"}},[t._v("Asynchronous API"),r("OutboundLink")],1),t._v(" - Example project on how to use asynchronous API to handle a large number of simultaneous connections.")]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-crud",target:"_blank",rel:"noopener noreferrer"}},[t._v("CRUD With Swagger UI"),r("OutboundLink")],1),t._v(" - Example project on how to create CRUD endpoints.")])]),t._v(" "),r("h3",{attrs:{id:"websocket"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#websocket"}},[t._v("#")]),t._v(" WebSocket")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/lganzzzo/canchat",target:"_blank",rel:"noopener noreferrer"}},[t._v("Can Chat"),r("OutboundLink")],1),t._v(" - Feature-complete rooms-based chat for tens of thousands users. Client plus Server.")]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-websocket",target:"_blank",rel:"noopener noreferrer"}},[t._v("WebSocket"),r("OutboundLink")],1),t._v(" - Collection of oatpp WebSocket examples.")]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-yuv-websocket-stream",target:"_blank",rel:"noopener noreferrer"}},[t._v("YUV Websocket Stream"),r("OutboundLink")],1),t._v(" - Example project how-to create a YUV image stream from a V4L device (i.E. Webcam) using websockets.")])]),t._v(" "),r("h3",{attrs:{id:"iot"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#iot"}},[t._v("#")]),t._v(" IoT")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-iot-hue-ssdp",target:"_blank",rel:"noopener noreferrer"}},[t._v("Example-IoT-Hue"),r("OutboundLink")],1),t._v(" - Example project how-to create an Philips Hue compatible REST-API that is discovered and controllable by Hue compatible Smart-Home devices like Amazon Alexa or Google Echo.")])]),t._v(" "),r("h3",{attrs:{id:"streaming"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#streaming"}},[t._v("#")]),t._v(" Streaming")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/examples/hls-media-stream/"}},[t._v("HTTP Live Streaming Server")]),t._v(" - Example project on how to build an HLS-streaming server using Oat++ asynchronous API.")],1),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-yuv-websocket-stream",target:"_blank",rel:"noopener noreferrer"}},[t._v("YUV Websocket Stream"),r("OutboundLink")],1),t._v(" - Example project how-to create a YUV image stream from a V4L device (i.E. Webcam) using websockets.")])]),t._v(" "),r("h3",{attrs:{id:"tls"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tls"}},[t._v("#")]),t._v(" TLS")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-libressl",target:"_blank",rel:"noopener noreferrer"}},[t._v("TLS With Libressl"),r("OutboundLink")],1),t._v(" - Example project how-to setup secure connection and serve via HTTPS.")])]),t._v(" "),r("h3",{attrs:{id:"microservices"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#microservices"}},[t._v("#")]),t._v(" Microservices")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-consul",target:"_blank",rel:"noopener noreferrer"}},[t._v("Consul Integration"),r("OutboundLink")],1),t._v(" - Example project on how to use "),r("RouterLink",{attrs:{to:"/api/latest/oatpp-consul/rest/Client/"}},[t._v("oatpp::consul::Client")]),t._v(". Consul integration.")],1),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-microservices",target:"_blank",rel:"noopener noreferrer"}},[t._v("Microservices"),r("OutboundLink")],1),t._v(" - Example project on how to build microservices with Oat++,\nand example on how to consolidate those microservices using "),r("a",{attrs:{href:"https://oatpp.io/docs/monolithization/",target:"_blank",rel:"noopener noreferrer"}},[t._v("monolithization"),r("OutboundLink")],1),t._v(" technique.")])]),t._v(" "),r("h3",{attrs:{id:"databases"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#databases"}},[t._v("#")]),t._v(" Databases")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-postgresql",target:"_blank",rel:"noopener noreferrer"}},[t._v("PostgreSQL"),r("OutboundLink")],1),t._v(" - Example of a production-grade entity service storing information in PostgreSQL. With Swagger-UI and configuration profiles.")]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/oatpp/example-mongodb",target:"_blank",rel:"noopener noreferrer"}},[t._v("MongoDB"),r("OutboundLink")],1),t._v(" - Example project how to work with MongoDB using "),r("strong",[t._v("oatpp-mongo")]),t._v(" mondule. Project is a web-service with basic CRUD and Swagger-UI.")])])])}),[],!1,null,null,null);e.default=a.exports}}]);