{"id":24087949,"url":"https://github.com/tinybirdco/zero-to-tinybird","last_synced_at":"2025-06-10T13:05:06.314Z","repository":{"id":213428036,"uuid":"731706606","full_name":"tinybirdco/zero-to-tinybird","owner":"tinybirdco","description":"This repository is a companion piece to the 'Zero-to-Tinybird` 90-minute workshop.","archived":false,"fork":false,"pushed_at":"2024-06-04T02:21:00.000Z","size":2107,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-05T21:45:35.299Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/tinybirdco.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,"zenodo":null}},"created_at":"2023-12-14T17:25:38.000Z","updated_at":"2024-09-27T15:05:41.000Z","dependencies_parsed_at":"2023-12-21T00:53:27.785Z","dependency_job_id":"b80fc973-3be7-46f7-9bb9-3a5afb867bee","html_url":"https://github.com/tinybirdco/zero-to-tinybird","commit_stats":null,"previous_names":["tinybirdco/zero-to-tinybird"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fzero-to-tinybird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fzero-to-tinybird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fzero-to-tinybird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fzero-to-tinybird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinybirdco","download_url":"https://codeload.github.com/tinybirdco/zero-to-tinybird/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fzero-to-tinybird/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259081005,"owners_count":22802399,"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":[],"created_at":"2025-01-10T03:56:24.733Z","updated_at":"2025-06-10T13:05:06.298Z","avatar_url":"https://github.com/tinybirdco.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Zero-to-Tinybird Workshop \n\nThis repository is a companion piece to the 'Zero-to-Tinybird` 90-minute workshop. The intended audience of this workshop are people who have no experience with Tinybird and are looking to learn the basics with 90 minutes of hands on content. The intent of this workshop is to teach the basics of creating Data Sources, building Pipes, designing Materialized Views, deploying API Endpoints with dynamic query parameters and providing introductions to the Tinybird command-line interface (CLI). \n\nThis repository includes resources to help attendees find documentation and other content focused on these topics. It also includes the Data Project used in the workshop. Workshop content is based on a real-time stream of mocked stock prices and a supporting dimensional table of company metadata. \n\n## Workshop sections\n\n* Tinybird overview\n* [Creating Data Sources](/content/sections/creating-data-sources.md)\n* [Building data analysis pipelines](/content/sections/building-pipelines.md)\n* [Introduction to Materialized Views](/content/sections/materialized-views.md)\n* [Introduction to the Tinybird CLI](/content/sections/intro-to-cli.md)\n\n## Prerequisites\n\n* A free Tinybird account. Navigate to [tinybird.co/signup](https://www.tinybird.co/signup) and create a free account. Create a new Workspace (name it whatever you want).\n* Basic knowledge of SQL, querying concepts, and the fundamentals of API endpoint design.\n\n## Other resources:\n\n* [Reference project GitHub Repository](https://github.com/jimmoffitt/kafka-to-analytics) - An example end-state of the project we will build. Complete with:\n  * [Recent Pull request and branch history](https://github.com/jimmoffitt/kafka-to-analytics/pulls?q=is%3Apr+is%3Aclosed)\n  * [GitHub Actions managed by Tinybird CI/CD integration](https://github.com/jimmoffitt/kafka-to-analytics/actions)\n* Below you will find a PDF of the deck we used for our first workshop on February 13, 2024. \n\n## What are we building? \n\nFor the workshop project we will start off and building on two data sources:\n\n* `company_info` dimensional table with company metadata, including full name, creation date, economic sector, and stock symbol.\n\n* `event_stream` live stream of stock prices for a set of ~80 mock companies. These prices are reported every few seconds and published on a Kafka-based stream hosted on Confluent Cloud. \n\n![Here is an example time-series](images/com.com.png)\n\nThis project includes the Python script used to generate the real-time data stream.  \n\nOur intial **Tinybird data flow** will look like this: \n\n![Data flow diagram](images/data-flow-2.png)\n\nHere we have the two *Data Sources*, and three data 'pipelines' based on them. These Tinybird *Pipes* illustrate fundamental SQL transformations: filtering, aggregating, and joining data sources. \n\nThen we will create a Materialized View to provide hourly statistics:\n\n![Data flow diagram](images/data-flow-1.png)\n\n## What topics will we be covering? \n\n* Creating Data Sources\n  * Introduction to native connectors: Kafka/Confluent streams, AWS S3, BigQuery, and Snowflake.\n  * Importing dimensional/fact tables. \n  * Connecting to a Confluent stream of real-time (mocked) stock prices. \n\n    [See more here.](/content/sections/creating-data-sources.md)\n\n* Building data analysis pipelines\n  * Getting started by developing SQL queries in Playgrounds.\n  * Building our first Pipe and publishing an API Endpoint.\n  * Building Pipes that filter, aggregate and join Data Sources.\n  * Creating dynamic request parameters.   \n\n    [See more here.](/content/sections/building-pipelines.md)\n\n* Introduction to Materialized Views\n    * Purpose and example use cases.\n    * Improving performance by filtering and aggregating at ingest time, not query time. \n    * Temporal rollups.\n    * State/Merge functions. \n\n    [See more here.](/content/sections/materialized-views.md)\n\n* Introduction to the Tinybird CLI\n  * Installing the CLI.\n  * Exploring our Workspace with the CLI.\n  * Touring available commands and preparing for managing projects under version control.\n\n    [See more here.](/content/sections/intro-to-cli.md)\n\n\n## Workshop deck\nThe first workshop was held on February 13, 2024.\n\n![](images/deck.png)\n\n[Current workshop deck](/content/Kafka-to-Analytics-workshop.pdf)\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinybirdco%2Fzero-to-tinybird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinybirdco%2Fzero-to-tinybird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinybirdco%2Fzero-to-tinybird/lists"}