Set up video streaming website with Bunny.net CDN integration

Initialize project structure with UI components, CDN video display, and configurations.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 50814a1e-92e4-4968-856f-7bc7eedf5e8f
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/50814a1e-92e4-4968-856f-7bc7eedf5e8f/uoltFyL
This commit is contained in:
sebastjanartic
2025-08-04 18:24:29 +00:00
parent aa21965451
commit edf1e36795
77 changed files with 15810 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
import { sql } from "drizzle-orm";
import { pgTable, text, varchar, integer, timestamp } from "drizzle-orm/pg-core";
import { createInsertSchema } from "drizzle-zod";
import { z } from "zod";
export const videos = pgTable("videos", {
id: varchar("id").primaryKey(),
title: text("title").notNull(),
description: text("description"),
thumbnailUrl: text("thumbnail_url").notNull(),
videoUrl: text("video_url").notNull(),
duration: integer("duration").notNull(), // in seconds
views: integer("views").notNull().default(0),
category: text("category"),
createdAt: timestamp("created_at").notNull().default(sql`CURRENT_TIMESTAMP`),
});
export const insertVideoSchema = createInsertSchema(videos).omit({
id: true,
createdAt: true,
});
export type InsertVideo = z.infer<typeof insertVideoSchema>;
export type Video = typeof videos.$inferSelect;