2023-02-28 02:23:07 -05:00
2022-02-01 05:45:36 -05:00
2023-02-28 13:51:12 +07:00
2022-08-10 23:23:35 -04:00
2022-07-11 17:00:17 +01:00
2023-02-19 04:12:54 -05:00
2023-02-28 13:41:36 +07:00
2022-02-01 02:43:28 -05:00
2022-12-16 00:51:09 -05:00
2022-02-01 00:32:00 -05:00
2023-02-04 13:30:18 +07:00
2023-02-28 02:23:07 -05:00
2023-02-04 20:25:42 +07:00

storyteller-frontend

This repository is a frontend monorepo, containing all of our websites and shared library code. Each website can be built and run independently of one another, but they share the same API backend.

Here are the websites contained:

Here are some static websites contained:

  • FakeYou API Docs, API documentation for the core TTS feature. This does not document our complete API.
  • the.storyteller.company, DEPRECATED investor website. Used to get into Founder Friendly Labs.

TODO: In the future, it will be worth updating this structure to match Netlify's recommended monorepo practices: https://docs.netlify.com/configure-builds/monorepos/

Development

Development environment setup

# Install Yarn if not present (Linux/Mac)
sudo npm install --global yarn

# We might need a newer node (Linux/Mac)
sudo install n -g
sudo n stable

# Install project deps (Linux/Mac)
yarn install

# Start one or more of the several frontends (Linux/Mac)
yarn start-fakeyou
yarn start-storyteller-home

Develop locally without CORS:

Launch Chrome without CORS enforcement, which will allow targeting against FakeYou.com's API directly:

chromium-browser --disable-web-security --user-data-dir=~/chrome

Or Mac,

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/chrome

Monorepo design

The React monorepo build pattern we're using is based on this blog post, which while lacking in some respects, still works for our purposes.

Library code is exported in the library's index.tsx (not very pretty)

Good Code Examples

  • storyteller/src/pages/tts_configs/TtsConfigsEditRulePage.tsx - Tree of components that handle a very complicated update API

Site-specific docs

API Documentation Site

docs.fakeyou.com is generated from ./docs using Docsify.

To run and test locally,

sudo npm i docsify-cli -g
docsify serve docs

Deployment

Our websites are deployed on Netlify.

Netlify notes

The .node-version file controls which version of node Netlify uses to build!

Design and brand notes

FakeYou design / brand

FakeYou (formerly vo.codes) uses the following:

Social icons are paid from the subscription service FlatIcon, and in particular this pack

Video thumbnails are generated with https://ezgif.com/ at the following settings:

  • webp, 500x300px (~100kb each)

Reverse clips are generated with ffmpeg:

ffmpeg -i input.mp4 -vf reverse reversed.mp4

If node becomes a zombie process and you want to find/kill it, ps aux | grep node.

S
Description
ArtCraft is an intentional crafting engine for artists, designers, and filmmakers
Readme 1.5 GiB
Languages
Rust 59.4%
TypeScript 39.3%
JavaScript 0.7%
Python 0.3%
CSS 0.2%
Other 0.1%