Thanks to visit codestin.com
Credit goes to github.com

Skip to content

zakstal/aloud-fork

 
 

Repository files navigation

Getting started

bun i
  1. Copy .env.example to .env and update the variables.
# Copy .env.example to .env for each app
cp apps/api/.env.example apps/api/.env
cp apps/app/.env.example apps/app/.env
cp apps/web/.env.example apps/web/.env
  1. Start the development server from either bun or turbo:
bun dev // starts everything in development mode (web, app, api, email)
bun dev:app // starts the app in development mode
bun dev:api // starts the api in development mode
//bun dev:web // starts the web app in development mode
// bun dev:email // starts the email app in development mode
  1. navigate to packages/jobs

npx trigger.dev@latest dev

Jobs trigger.deb

Deployment

npx trigger.dev@latest deploy

How tos

Issues

  • get real images for the in the public space for voice actors
  • character column on the scren play detail page goes to low on the page

TODO

  • terms and conditions
  • privacy policy
  • offline maybe
  • better login page
  • account limits
  • skip forward and back on the player
  • Merge packages/script-to-audio/src/parsers/fountainParser2 and apps/app/src/components/scriptEditor/script-tokens.tsx
  • When creating text, make sure characters are assigned
    • This is not the case at the moment as we look if the last text was from a character. However type “action” should be assigned to narrator
  • When a new version is created, the UI needs to be updated with the correct ids for lines
  • Ids created from new lines in the UI are prepended with “internal” this is being stripped out, but we don’t want it all together. Its also being used to determine newly created lines
  • Going back and forth with ctrl+z and shift+ctrl+z between major server versions and how it interacts with the indexedDb version
    • How do we go to a previous version, then redo forwards
    • What if we go back to a previous version and start editing how do we then undo?
  • Versioning for character versions.
    • Tie it to the version_number? Can the sql functions work properly to get a version?
    • [ ]
  • Removing characters from the script
  • There is an issue using backspace delete on the script editor
  • When deleting lines that were assigned to a character the lines need to be reassigned to narrator
  • Sup abase transactions when updating lines
  • Add check for assignment to audio character version before trying to get audio on the client
  • Tracking of audio provider in DB
    • Check concurrency rate
    • Elegant failure when credits are out
  • Very large documents take a while to load when from a pdf. Chunk it out
  • Create new audio version when switching characters versions when audio is completed
  • Character lines are being set to IsDialog true. This should not happen
  • Add ability to add title of script
  • Initial item on blank doc needs an id
  • Change color for loading progress indicator on the get audio button
  • Reload audio if lines have changed and new audio gotten
  • On get audio save
  • Save every few seconds, if offline put in a queue
  • Add the ability on save to delete characters
  • Get save data from scriptMeta instead of looping through all items
  • In the editor if you tab it will go down to the player
  • Add aria labels

UPDATES

  • add config
    • highlight lines on play
    • save rate

Potential problems

  • Indexed db gets too big
    • Modifies for the same element can be batched

Supabase DB

create a new migration

navigate to app/api npm run migrate:new <name_of_migration>

Reset db

reset db and re-run migtion npm run reset

CLI Login

npm run login

Push schema changes to remote db

You must be logged in. npm run push

ORIGINAL README

hero

Create v1

An open-source starter kit based on Midday.

Website · Issues · What's included · Prerequisites · Getting Started · How to use

Everything you need to build a production ready SaaS, it's a opinionated stack based on learnings from building Midday using the latest Next.js framework, it's a monorepo with a focus on code reuse and best practices that will grow with your business.

What's included

Next.js - Framework
Turborepo - Build system
Biome - Linter, formatter
TailwindCSS - Styling
Shadcn - UI components
TypeScript - Type safety
Supabase - Authentication, database, storage
Upstash - Cache and rate limiting
React Email - Email templates
Resend - Email delivery
i18n - Internationalization
Sentry - Error handling/monitoring
Dub - Sharable links
Trigger.dev - Background jobs
OpenPanel - Analytics
Polar - Billing (coming soon)
react-safe-action - Validated Server Actions
nuqs - Type-safe search params state manager
next-themes - Theme manager

Directory Structure

.
├── apps                         # App workspace
│    ├── api                     # Supabase (API, Auth, Storage, Realtime, Edge Functions)
│    ├── app                     # App - your product
│    ├── web                     # Marketing site
│    └── ...
├── packages                     # Shared packages between apps
│    ├── analytics               # OpenPanel analytics
│    ├── email                   # React email library
│    ├── jobs                    # Trigger.dev background jobs
│    ├── kv                      # Upstash rate-limited key-value storage
│    ├── logger                  # Logger library
│    ├── supabase                # Supabase - Queries, Mutations, Clients
│    └── ui                      # Shared UI components (Shadcn)
├── tooling                      # are the shared configuration that are used by the apps and packages
│    └── typescript              # Shared TypeScript configuration
├── .cursorrules                 # Cursor rules specific to this project
├── biome.json                   # Biome configuration
├── turbo.json                   # Turbo configuration
├── LICENSE
└── README.md

Prerequisites

Bun
Docker
Upstash
Dub
Trigger.dev
Resend
Supabase
Sentry
OpenPanel

Getting Started

Clone this repo locally with the following command:

bunx degit midday-ai/v1 v1
  1. Install dependencies using bun:
bun i
  1. Copy .env.example to .env and update the variables.
# Copy .env.example to .env for each app
cp apps/api/.env.example apps/api/.env
cp apps/app/.env.example apps/app/.env
cp apps/web/.env.example apps/web/.env
  1. Start the development server from either bun or turbo:
bun dev // starts everything in development mode (web, app, api, email)
bun dev:web // starts the web app in development mode
bun dev:app // starts the app in development mode
bun dev:api // starts the api in development mode
bun dev:email // starts the email app in development mode

// Database
bun migrate // run migrations
bun seed // run seed

How to use

This boilerplate is inspired by our work on Midday, and it's designed to serve as a reference for real-world apps. Feel free to dive into the code and see how we've tackled various features. Whether you're looking to understand authentication flows, database interactions, or UI components, you'll find practical, battle-tested implementations throughout the codebase. It's not just a starting point; it's a learning resource that can help you build your own applications.

With this, you have a great starting point for your own project.

Deploy to Vercel

Vercel deployment will guide you through creating a Supabase account and project.

Deploy with Vercel

Recognition

Featured on Hacker News

Services we are using/paying for

Service links

About

An open-source starter kit based on Midday.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 75.7%
  • JavaScript 19.4%
  • CSS 2.7%
  • PLpgSQL 2.2%