All Projects β†’ revtel β†’ reactconf.tv

revtel / reactconf.tv

Licence: 0BSD license
Find & watch all React conference talks, built for all React developers!

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to reactconf.tv

Github Profilinator
πŸš€ This tool contains mini GUI components that you can hook together to automatically generate markdown code for a perfect readme.
Stars: ✭ 225 (+765.38%)
Mutual labels:  gatsby
Gatsby Remark Embedder
Gatsby Remark plugin to embed well known services by their URL.
Stars: ✭ 245 (+842.31%)
Mutual labels:  gatsby
Gatsby Starter Portfolio Emma
Minimalistic portfolio with full-width grid, page transitions, support for additional MDX pages, and a focus on large images. Especially designers and/or photographers will love this theme! Built with MDX and Theme UI.
Stars: ✭ 253 (+873.08%)
Mutual labels:  gatsby
Reactive Resume
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
Stars: ✭ 3,280 (+12515.38%)
Mutual labels:  gatsby
Example Company Website Gatsby Sanity Combo
This is an example company website using Gatsby and Sanity in combination.
Stars: ✭ 242 (+830.77%)
Mutual labels:  gatsby
Gatsby Mdx Blog Starter Project
Gatsby MDX Blog Starter Project
Stars: ✭ 248 (+853.85%)
Mutual labels:  gatsby
Docs
Repository of Twilio SendGrid's product documentation.
Stars: ✭ 221 (+750%)
Mutual labels:  gatsby
atomic-state
Atomic State is a state management library for React
Stars: ✭ 15 (-42.31%)
Mutual labels:  gatsby
Gatsby Starter Business
Gatsby Business Website Starter
Stars: ✭ 243 (+834.62%)
Mutual labels:  gatsby
Gatsby Theme Antv
βš›οΈ Polished Gatsby theme for documentation site
Stars: ✭ 249 (+857.69%)
Mutual labels:  gatsby
Cloudflare Docs
Cloudflare’s developer docs.
Stars: ✭ 219 (+742.31%)
Mutual labels:  gatsby
Greenboard
πŸ“– Gatsby theme for api documentation
Stars: ✭ 240 (+823.08%)
Mutual labels:  gatsby
Gatsby Starter Portfolio Jodie
Image-heavy photography portfolio with colorful accents & customizable pages. Includes adaptive image grids powered by CSS grid and automatic image integration into projects.
Stars: ✭ 249 (+857.69%)
Mutual labels:  gatsby
Narative.co
Narative builds brands, websites and products for growth-minded companies.
Stars: ✭ 226 (+769.23%)
Mutual labels:  gatsby
Gatsby
Build blazing fast, modern apps and websites with React
Stars: ✭ 51,925 (+199611.54%)
Mutual labels:  gatsby
Desktop
Stars: ✭ 225 (+765.38%)
Mutual labels:  gatsby
Gatsby Remark Vscode
Gatsby plugin to provide VS Code’s syntax highlighting to Markdown code fences
Stars: ✭ 245 (+842.31%)
Mutual labels:  gatsby
halo-lab
Website of the Halo lab: design and development agency
Stars: ✭ 32 (+23.08%)
Mutual labels:  gatsby
gatsby-remark-classes
Automatically add class attributes to markdown elements
Stars: ✭ 12 (-53.85%)
Mutual labels:  gatsby
Gatsby Theme Terminal
A zero component Gatsby theme for developers πŸ”‹
Stars: ✭ 251 (+865.38%)
Mutual labels:  gatsby

reactconf.tv

ReactConf.TV is a place where passionate React developers are able to search & watch organized and up-to-date react conference videos. Check it out!

reactconf.tv

Browse & Watch!

Outline

Data Sourcing

The data for ReactConf.TV mainly comes from two YouTube Data API:

  • playlists API to fetch all playlists a YouTube channel contains
    • a channel normally represent the organization for a particular conference. For example, React Europe.
    • a playlist is a particular conference event, for example, React Europe 2020.
  • playlistitems API to fetch all videos a playlist contains
    • a video in a playlist represents a talk in one conference, for example, vjeux's talk about Excalidraw in React Europe 2020

The high-level data sourcing logic looks like this:

  1. Maintain a manual file data/ytChannels.json, to collect the YouTube Channels contain React Conference playlist. The ultimate source comes from ReactJS's community conference
  2. For every channel in ytChannels, fetch their playlists and save to data/playlist/<channel-name>.json
  3. For every playlist in one particular channel, fetch the video list save to static/playlistitems/<playlist-id>.json
  4. During build-time, the data/playlist will be used, so ReactConf.TV knows all conference events.
  5. During runtime, when user navigate to a particular conference event, we can then fire a request to /static/playlistitems/<playlist-id>.json using its id, since we deploy those data as static content.

Getting Started

npm install
npm start

open http://localhost:8000/ for running locally reactconf-tv

Contribute

Welcome to contribute! If you have any idea or suggestion, feel free to open an issue or create a PR.

How To Contribute a New Conference Resource for Reactconf-tv

  • Can see the file data.json in data folder , and then you would see below data structure
  "ytChannels": [
    {
      "name": "react-conf",
      "display": "React Conf",
      "channelId": "UCz5vTaEhvh7dOHEyd1efcaQ",
      "conferences": [
        {
          "name": "react-conf",
          "display": "React Conf",
          "filters": ["React Conf"]
        }
      ]
    }
  ]
  • ytChannels

    • name Channel Name
    • display Unused for now
    • channelId Channel id which use to fetch youtube api
      • conferences
        • name The name of the playlist
        • display The playlist name will display on the reactconf-tv playlist
        • filters The keyword to get the playlist
  • How to get the channel id ?

    • Select the channel which you want to append to reactconf-tv,
      you would see the channel id on the url.

      https://www.youtube.com/channel/${channel_id}

  • Where the keyword which I would place in the filters array ?

    • See the below picture , you will see the two playlists,
      what they have in common is the keyword React Conf,
      so if you want to append these palylists,
      please concat the React Conf in the filters of the channel.

      • p.s. Because system limitations, please choose the playlist that postfix has particular year.

    Imgur

  • Why I concat the structure of channel, but I didn’t see the list in reactconf-tv ?

    • because reactconf-tv is static site, we will output static files we need first.
      so maybe you can run below script, you will fetch the data you want, then submit pull request.

      node scripts/fetch-data.js

  • Where does the data come from?

    • after running scripts: node scripts/fetch-data.js
      According to data/data.json data/playlist/ and static/playlistitems/ will be generated by the api provided from Youtube
    • data/playlist repr a list of playlist and static/playlistitems/ repr the detail of every video in a playlist
    • To avoid large bundle size at the first request, we will fetch only data/playlist/ at build time and consider static/playlistitems as assets

step

  1. Open a new issue with description.
  2. Fork and clone the repo. https://github.com/revtel/reactconf-tv.git.
  3. Create a new branch based off the develop branch.
  4. npm install && npm start to run the development enviroment.
  5. Make changes.
  6. Make commit message with conventional commits specification.
  7. Submit a pull request, referencing any issues it addresses.
  8. We will review your Pull Request as soon as possible. Thank you for your contribution ✨

Directory Structure

The following is the hign level folder structure of reactconf-tv

reactconf-tv
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ data
β”‚   β”œβ”€β”€ data.json
β”‚   └── playlist
β”œβ”€β”€ gatsby-browser.js
β”œβ”€β”€ gatsby-config.js
β”œβ”€β”€ gatsby-node.js
β”œβ”€β”€ gatsby-ssr.js
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ scripts
β”‚   └── fetch-data.js
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ AppContext.js
β”‚   β”œβ”€β”€ PageContainer.js
β”‚   β”œβ”€β”€ components
β”‚   β”œβ”€β”€ hooks
β”‚   β”œβ”€β”€ images
β”‚   β”œβ”€β”€ index.css
β”‚   β”œβ”€β”€ pages
β”‚   β”œβ”€β”€ templates
β”‚   └── utils
└── static
    β”œβ”€β”€ fonts
    β”œβ”€β”€ images
    └── playlistitems

Contributors


Rick Ho

Richie Hsieh

Sam Huang

Mylio Chang

Chien Hsiao

Ula Chao

Guy Chien
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].