Name | Link | Deeplink |
---|---|---|
Web | https://subtis.io | - |
API | https://api.subt.is | - |
API Docs | https://api.subt.is/v1/docs | - |
WebSocket | https://real-time-indexer.fly.dev | - |
Stremio | https://stremio.subt.is | stremio://stremio.fly.dev/manifest.json |
Client-side | Server-side | Cross packages |
---|---|---|
Web | DB | Shared |
CLI | API | |
Stremio |
Client | API search | Real-time search | Title search | AI translation | Email notifications |
---|---|---|---|---|---|
Web | ✅ | ✅ | ✅ | 🚧 | ✅ |
CLI | ✅ | ✅ | ❌ | ❌ | ✅ |
Stremio | ✅ | ❌ | ❌ | ❌ | ❌ |
-
Request
.env.development
file from a team member -
Run initialization script
chmod +x ./setup.sh && ./setup.sh
- Install bun runtime
curl -fsSL https://bun.sh/install | bash
- Install project dependencies
bun install
- Run Subtis REST API
bun run dev:api
- Run Subtis Web
bun run dev:web
- Run any of the desired client packages (Optional)
bun run dev:cli
bun run dev:stremio
- Run the indexer to fill DB (Optional)
bun run dev:indexer:movies
bun run dev:indexer:tv-shows
- Deploy API
- Login to Cloudfare (if you haven't already)
wrangler login
- Run the following command
bun run deploy:api
- Deploy CLI
-
Create new release in Github Releases
-
Update
subtis.rb
with the new release version and SHA256 hash and push the changes
- Login to Supabase (if you haven't already)
bunx supabase login
- Create database type definitions and zod schemas
bun run update:db:schemas
Request access to Supabase team with the developer email.
To check how the database schema looks like go to Supabase project, under Database -> Tools -> Schema Visualizer
.
brew tap lndgalante/homebrew-subtis
brew install subtis
brew uninstall subtis \
&& brew untap lndgalante/homebrew-subtis \
&& brew tap lndgalante/homebrew-subtis \
&& brew install subtis
- Generate SQL dump
bun run update:db:dump
-
Bump DB schemas
- Move to
packages/db
directory
cd packages/db
- Run the following command
bun run supabase:type:definitions
- Remove the following line you see repeated
Args: Record<PropertyKey, never>;
- Generate new zod schemas
bun run supabase:schemas
- Move to
-
Bump project dependencies
bun run update:deps
- Code format and lint
bun run biome:check
- Check type errors
bun run type:check
- Check type coverage
bun run type:coverage
- Check test coverage
bun run test:coverage
- Check code duplications
bun run code:duplications
-
Import docs/collection.json into your preferred HTTP client like Yaak within Collecitions to quickly play with all API endpoints and different scenarios
-
Import docs/localhost.json and docs/localhost.json to your environments section in your HTTP client
-
Select your environment to test like LOCALHOST or PRODUCTION