Giter VIP home page Giter VIP logo

runtime.fm's Introduction

Runtime FM ๐ŸŽค

Single page app that powers the runtime.fm website!

Design

What started out as wireframing very quickly became quite similar to neo brutalist design.

Since then we have become quite found of this style of design and decided to continue in this direction.

Stack

The site is deployed to Vercel and the API is a PocketBase instance running on Digital Ocean.

Other tools include:

For API setup see this repo.

Pre-rendering

We make extensive use of pre-rendering. To do this effectively we have to fetch data in a suspense friendly way.

Initially we tried to do this with an off the shelf solution, unfortunately we had a number of issues (#950, #957) when doing this, a list of the solutions we tried can be found below:

Tailwind

PostCSS is currently not supported which makes Tailwind usage impossible.

Fortunately twind exists and includes an out of the box WMR integration.

Unfortunately because we are using preact/compat we are required to use className until a fix is found.

Future improvements

  • Use Zod to validate data before sending to Pocketbase.
  • Use Stork to create pre-compiled search index.
  • Use Ranger to handle volume/progress sliders.

Gotcha's

If you are experiencing issues with React types update your tsconfig.json specifically compilerOptions to include the following:

"paths": {
  "react": ["./node_modules/preact/compat/"],
  "react-dom": ["./node_modules/preact/compat/"]
}

runtime.fm's People

Contributors

chopfitzroy avatar

Stargazers

Roman avatar

Watchers

 avatar

runtime.fm's Issues

Go live check list

  • CI/CD
  • SMTP email for PocketBase
  • Prevent PocketBase error log from hogging memory

Add markdown support for show notes

How:

Why?

Why not just use PocketBase to handle this? PocketBase is fantastic for allowing us to create relational data with each episode (persisting listen progress, user favourites, etc...) but it is inherently inaccessible to open source contributions.

What if a listener notices an issue with the show notes and they want to rectify it? Currently there is absolutely no way for them to do this without opening a GitHub issue or contact us directly.

Ideally users would be able to access this content and open the appropriate PR to rectify.

Move CI/CD to GitHub and deploy to Vercel

Vercel struggles with the scripts in the scripts/ directory (presumably because they use file system APIs).

As a result I would like to move the build process to GitHub and deploy to Vercel from there.

Using Vercel over Netlify on the grounds that image generation will be done using OG image.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.