{"id":28003161,"url":"https://github.com/fnproject/tutorials","last_synced_at":"2025-05-09T01:59:17.175Z","repository":{"id":25884374,"uuid":"103564695","full_name":"fnproject/tutorials","owner":"fnproject","description":"Fn tutorials ranging from getting started to more advanced topics. ","archived":false,"fork":false,"pushed_at":"2023-07-16T05:35:23.000Z","size":8386,"stargazers_count":127,"open_issues_count":20,"forks_count":86,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-05-09T01:59:12.189Z","etag":null,"topics":["fnproject"],"latest_commit_sha":null,"homepage":"https://fnproject.io/tutorials","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fnproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-14T17:59:21.000Z","updated_at":"2025-03-10T22:25:53.000Z","dependencies_parsed_at":"2024-06-18T21:24:52.760Z","dependency_job_id":null,"html_url":"https://github.com/fnproject/tutorials","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnproject%2Ftutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnproject%2Ftutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnproject%2Ftutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnproject%2Ftutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fnproject","download_url":"https://codeload.github.com/fnproject/tutorials/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253176436,"owners_count":21866142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fnproject"],"created_at":"2025-05-09T01:59:16.686Z","updated_at":"2025-05-09T01:59:17.167Z","avatar_url":"https://github.com/fnproject.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tutorials\n\nEach of the tutorials below provides a step by step examination and walkthrough of a specific Fn feature or component.  Check back soon as new tutorials are being added regularly.\n\n## Introduction to Fn\nBefore deploying your first function, you need to [install the Fn cli and start an Fn Server](install/README.md).\n\nNow that the Fn Server is up and running, you can deploy your first function. Select your preferred language:\n\nOfficial:\n\n* [Go](Introduction/README.md)\n* [Java](JavaFDKIntroduction//README.md)\n* [Node.js](node/intro/README.md)\n* [Ruby](ruby/intro/README.md)\n* [Python](python/intro/README.md)\n* [C#](csharp/intro/README.md)\n\n## Explore Fn\n* [Create Apps with Fn](Apps/README.md) - Learn how to group your functions into an application/API and deploy them together.\n* [Create a Function with a Docker Container](ContainerAsFunction/README.md) - This tutorial provides a simple example of how to define an Fn function using a custom built Docker container.\n* [Create a Function with a Linux Command and HotWrap](docker/CustomLinuxContainer/README.md) - This tutorial provides an example of how to define an Fn function using Linux commands, HotWrap, and a custom Docker container.\n* [Create a Function from a Docker image that contains a Node.js app with Oracle DB Support](node/custom-db/README.md)\n* [Fn Development with Multiple Contexts](basics/UsingContexts/README.md) - Shows how to setup and use multiple Fn configuration contexts for development.\n* [Using Fn RuntimeContext with a Function](basics/UsingRuntimeContext/README.md) - See how to set Fn Application and Function variables and access them in your function using the Runtime Context.\n\n\n## Test and Monitor Functions\n\n* [Monitor Fn metrics with Grafana and Prometheus](grafana/README.md) - Learn how to view Fn server metrics with Prometheus and Grafana.\n* [Troubleshoot and Log functions](Troubleshooting/README.md) - Resolve issues at both development and deployment time.\n\n## Orchestrate with Fn Flow\n\nFn Flow provides a way to orchestrate functions to build sophisticated applications, initially using Java, and soon with other programming languages.\n\n* [Flow 101](Flow101/README.md)\n* [Flow 102](Flow102/README.md)\n* [Fn Flow Saga](FlowSaga/README.md) - In this tutorial you will use Fn Flow to implement a Java travel booking system that leverages functions written in a variety of languages.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnproject%2Ftutorials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffnproject%2Ftutorials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnproject%2Ftutorials/lists"}