├── .DS_Store ├── .gitignore ├── README.md ├── api ├── .DS_Store ├── .gitignore ├── Config │ ├── droplet.json │ ├── fluent.json │ ├── mysql.json │ ├── production │ │ └── servers.json │ └── server.json ├── Package.pins ├── Package.swift └── Sources │ ├── .DS_Store │ └── App │ ├── Controllers │ └── Tutorials.swift │ ├── Middleware │ └── NotFound.swift │ ├── Migrations │ └── AddVersion.swift │ ├── Models │ └── Tutorial │ │ ├── Difficulty.swift │ │ ├── Medium.swift │ │ └── Tutorial.swift │ └── main.swift ├── client ├── .DS_Store ├── .gitignore ├── .sass-cache │ └── ad2da2b51db2e0faa77f3306171e689b22af2346 │ │ └── app.sassc ├── Config │ ├── development │ │ └── app.json │ ├── droplet.json │ └── production │ │ ├── app.json │ │ └── server.json ├── Package.pins ├── Package.swift ├── Public │ ├── .DS_Store │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── favicon.ico │ ├── images │ │ ├── .DS_Store │ │ ├── play-button.png │ │ ├── previews │ │ │ ├── 47.png │ │ │ ├── 48.png │ │ │ ├── 49.png │ │ │ ├── 50.png │ │ │ ├── 51.png │ │ │ ├── appcoda.png │ │ │ ├── art-of-generics.png │ │ │ ├── aws.png │ │ │ ├── basic-validation.png │ │ │ ├── benchmark.png │ │ │ ├── cloud.png │ │ │ ├── crud.png │ │ │ ├── custom-validation.png │ │ │ ├── database.png │ │ │ ├── deploy-heroku.png │ │ │ ├── deploy.png │ │ │ ├── edjiang.png │ │ │ ├── hello-world.png │ │ │ ├── install-vapor-macos.png │ │ │ ├── nerd.png │ │ │ ├── nslondon.png │ │ │ ├── parent-child.png │ │ │ ├── rovers.png │ │ │ ├── rw-1.png │ │ │ ├── rw-2.png │ │ │ ├── rw-app.png │ │ │ ├── rw-fluent.png │ │ │ ├── rw-mvc.png │ │ │ ├── rw-rest.png │ │ │ ├── rw-skeleton.png │ │ │ ├── sample-tile.png │ │ │ ├── siblings.png │ │ │ ├── swiftybot2.png │ │ │ ├── vagrant.png │ │ │ ├── vapor-at-apple.png │ │ │ ├── vapor-twilio.png │ │ │ ├── xcode-pokeball-swift.png │ │ │ └── xcode-swift.png │ │ ├── vapor-1.svg │ │ ├── vapor-2.svg │ │ └── vapor-university-logo.png │ └── styles │ │ ├── .sass-cache │ │ ├── 94ed44cc615772b411c4b30f117b776338d0437a │ │ │ └── app.sassc │ │ └── ad2da2b51db2e0faa77f3306171e689b22af2346 │ │ │ └── app.sassc │ │ ├── app.css │ │ ├── app.css.map │ │ └── app.sass ├── Resources │ └── Views │ │ ├── Includes │ │ ├── footer.leaf │ │ └── header.leaf │ │ ├── Tutorials │ │ └── index.leaf │ │ ├── error.leaf │ │ └── layout.leaf └── Sources │ ├── VaporUniversity │ ├── Database.swift │ ├── Models │ │ └── Tutorial.swift │ └── RESTDriver.swift │ └── Web │ ├── RequestFailedMiddleware.swift │ └── main.swift └── design └── web.sketch /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | raw 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/README.md -------------------------------------------------------------------------------- /api/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/.DS_Store -------------------------------------------------------------------------------- /api/.gitignore: -------------------------------------------------------------------------------- 1 | Packages 2 | .build 3 | xcuserdata 4 | *.xcodeproj 5 | Config/secrets 6 | 7 | -------------------------------------------------------------------------------- /api/Config/droplet.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Config/droplet.json -------------------------------------------------------------------------------- /api/Config/fluent.json: -------------------------------------------------------------------------------- 1 | { 2 | "driver": "mysql" 3 | } 4 | -------------------------------------------------------------------------------- /api/Config/mysql.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Config/mysql.json -------------------------------------------------------------------------------- /api/Config/production/servers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Config/production/servers.json -------------------------------------------------------------------------------- /api/Config/server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Config/server.json -------------------------------------------------------------------------------- /api/Package.pins: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Package.pins -------------------------------------------------------------------------------- /api/Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Package.swift -------------------------------------------------------------------------------- /api/Sources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/.DS_Store -------------------------------------------------------------------------------- /api/Sources/App/Controllers/Tutorials.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/Controllers/Tutorials.swift -------------------------------------------------------------------------------- /api/Sources/App/Middleware/NotFound.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/Middleware/NotFound.swift -------------------------------------------------------------------------------- /api/Sources/App/Migrations/AddVersion.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/Migrations/AddVersion.swift -------------------------------------------------------------------------------- /api/Sources/App/Models/Tutorial/Difficulty.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/Models/Tutorial/Difficulty.swift -------------------------------------------------------------------------------- /api/Sources/App/Models/Tutorial/Medium.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/Models/Tutorial/Medium.swift -------------------------------------------------------------------------------- /api/Sources/App/Models/Tutorial/Tutorial.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/Models/Tutorial/Tutorial.swift -------------------------------------------------------------------------------- /api/Sources/App/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/api/Sources/App/main.swift -------------------------------------------------------------------------------- /client/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/.DS_Store -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | Packages 2 | .build 3 | xcuserdata 4 | *.xcodeproj 5 | Config/secrets 6 | 7 | -------------------------------------------------------------------------------- /client/.sass-cache/ad2da2b51db2e0faa77f3306171e689b22af2346/app.sassc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/.sass-cache/ad2da2b51db2e0faa77f3306171e689b22af2346/app.sassc -------------------------------------------------------------------------------- /client/Config/development/app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Config/development/app.json -------------------------------------------------------------------------------- /client/Config/droplet.json: -------------------------------------------------------------------------------- 1 | { 2 | "view": "leaf" 3 | } 4 | -------------------------------------------------------------------------------- /client/Config/production/app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Config/production/app.json -------------------------------------------------------------------------------- /client/Config/production/server.json: -------------------------------------------------------------------------------- 1 | { 2 | "port": "$PORT" 3 | } 4 | -------------------------------------------------------------------------------- /client/Package.pins: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Package.pins -------------------------------------------------------------------------------- /client/Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Package.swift -------------------------------------------------------------------------------- /client/Public/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/.DS_Store -------------------------------------------------------------------------------- /client/Public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/favicon-16x16.png -------------------------------------------------------------------------------- /client/Public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/favicon-32x32.png -------------------------------------------------------------------------------- /client/Public/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/favicon-96x96.png -------------------------------------------------------------------------------- /client/Public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/favicon.ico -------------------------------------------------------------------------------- /client/Public/images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/.DS_Store -------------------------------------------------------------------------------- /client/Public/images/play-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/play-button.png -------------------------------------------------------------------------------- /client/Public/images/previews/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/47.png -------------------------------------------------------------------------------- /client/Public/images/previews/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/48.png -------------------------------------------------------------------------------- /client/Public/images/previews/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/49.png -------------------------------------------------------------------------------- /client/Public/images/previews/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/50.png -------------------------------------------------------------------------------- /client/Public/images/previews/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/51.png -------------------------------------------------------------------------------- /client/Public/images/previews/appcoda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/appcoda.png -------------------------------------------------------------------------------- /client/Public/images/previews/art-of-generics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/art-of-generics.png -------------------------------------------------------------------------------- /client/Public/images/previews/aws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/aws.png -------------------------------------------------------------------------------- /client/Public/images/previews/basic-validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/basic-validation.png -------------------------------------------------------------------------------- /client/Public/images/previews/benchmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/benchmark.png -------------------------------------------------------------------------------- /client/Public/images/previews/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/cloud.png -------------------------------------------------------------------------------- /client/Public/images/previews/crud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/crud.png -------------------------------------------------------------------------------- /client/Public/images/previews/custom-validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/custom-validation.png -------------------------------------------------------------------------------- /client/Public/images/previews/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/database.png -------------------------------------------------------------------------------- /client/Public/images/previews/deploy-heroku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/deploy-heroku.png -------------------------------------------------------------------------------- /client/Public/images/previews/deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/deploy.png -------------------------------------------------------------------------------- /client/Public/images/previews/edjiang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/edjiang.png -------------------------------------------------------------------------------- /client/Public/images/previews/hello-world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/hello-world.png -------------------------------------------------------------------------------- /client/Public/images/previews/install-vapor-macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/install-vapor-macos.png -------------------------------------------------------------------------------- /client/Public/images/previews/nerd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/nerd.png -------------------------------------------------------------------------------- /client/Public/images/previews/nslondon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/nslondon.png -------------------------------------------------------------------------------- /client/Public/images/previews/parent-child.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/parent-child.png -------------------------------------------------------------------------------- /client/Public/images/previews/rovers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rovers.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-1.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-2.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-app.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-fluent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-fluent.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-mvc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-mvc.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-rest.png -------------------------------------------------------------------------------- /client/Public/images/previews/rw-skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/rw-skeleton.png -------------------------------------------------------------------------------- /client/Public/images/previews/sample-tile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/sample-tile.png -------------------------------------------------------------------------------- /client/Public/images/previews/siblings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/siblings.png -------------------------------------------------------------------------------- /client/Public/images/previews/swiftybot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/swiftybot2.png -------------------------------------------------------------------------------- /client/Public/images/previews/vagrant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/vagrant.png -------------------------------------------------------------------------------- /client/Public/images/previews/vapor-at-apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/vapor-at-apple.png -------------------------------------------------------------------------------- /client/Public/images/previews/vapor-twilio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/vapor-twilio.png -------------------------------------------------------------------------------- /client/Public/images/previews/xcode-pokeball-swift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/xcode-pokeball-swift.png -------------------------------------------------------------------------------- /client/Public/images/previews/xcode-swift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/previews/xcode-swift.png -------------------------------------------------------------------------------- /client/Public/images/vapor-1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/vapor-1.svg -------------------------------------------------------------------------------- /client/Public/images/vapor-2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/vapor-2.svg -------------------------------------------------------------------------------- /client/Public/images/vapor-university-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/images/vapor-university-logo.png -------------------------------------------------------------------------------- /client/Public/styles/.sass-cache/94ed44cc615772b411c4b30f117b776338d0437a/app.sassc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/styles/.sass-cache/94ed44cc615772b411c4b30f117b776338d0437a/app.sassc -------------------------------------------------------------------------------- /client/Public/styles/.sass-cache/ad2da2b51db2e0faa77f3306171e689b22af2346/app.sassc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/styles/.sass-cache/ad2da2b51db2e0faa77f3306171e689b22af2346/app.sassc -------------------------------------------------------------------------------- /client/Public/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/styles/app.css -------------------------------------------------------------------------------- /client/Public/styles/app.css.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/styles/app.css.map -------------------------------------------------------------------------------- /client/Public/styles/app.sass: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Public/styles/app.sass -------------------------------------------------------------------------------- /client/Resources/Views/Includes/footer.leaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Resources/Views/Includes/footer.leaf -------------------------------------------------------------------------------- /client/Resources/Views/Includes/header.leaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Resources/Views/Includes/header.leaf -------------------------------------------------------------------------------- /client/Resources/Views/Tutorials/index.leaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Resources/Views/Tutorials/index.leaf -------------------------------------------------------------------------------- /client/Resources/Views/error.leaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Resources/Views/error.leaf -------------------------------------------------------------------------------- /client/Resources/Views/layout.leaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Resources/Views/layout.leaf -------------------------------------------------------------------------------- /client/Sources/VaporUniversity/Database.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Sources/VaporUniversity/Database.swift -------------------------------------------------------------------------------- /client/Sources/VaporUniversity/Models/Tutorial.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Sources/VaporUniversity/Models/Tutorial.swift -------------------------------------------------------------------------------- /client/Sources/VaporUniversity/RESTDriver.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Sources/VaporUniversity/RESTDriver.swift -------------------------------------------------------------------------------- /client/Sources/Web/RequestFailedMiddleware.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Sources/Web/RequestFailedMiddleware.swift -------------------------------------------------------------------------------- /client/Sources/Web/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/client/Sources/Web/main.swift -------------------------------------------------------------------------------- /design/web.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vapor/university/HEAD/design/web.sketch --------------------------------------------------------------------------------