# Vivid CDN Vivid CDN is a modern, high-performance content delivery network built with Next.js. It provides robust file upload, storage, and serving capabilities, designed for efficient content management and delivery. ## Features * **Secure File Uploads:** Easily upload and manage your digital assets. * **Efficient Content Delivery:** Serve files quickly and reliably through a dedicated CDN endpoint. * **User Authentication:** Secure access to file management features with integrated authentication. * **Intuitive File Browsing:** Browse and manage uploaded files through a user-friendly interface. * **AI Integration (Experimental):** Explore potential AI-driven features for content processing or management. * **Responsive Design:** Built with Tailwind CSS and Shadcn UI for a modern and adaptive user experience. ## Technologies Used * **Framework:** Next.js * **Styling:** Tailwind CSS, Shadcn UI * **Authentication:** NextAuth.js (inferred from `lib/auth.ts`, `auth.actions.ts`) * **AI:** Genkit (inferred from `src/ai/genkit.ts`) * **Database:** (Not explicitly visible, but typically a CDN would use a database for file metadata. This can be added if known.) ## Getting Started Follow these steps to set up and run the project locally. ### Prerequisites Make sure you have the following installed: * Node.js (v18 or higher) * npm or yarn ### Installation 1. Clone the repository: ```bash git clone https://github.com/your-username/vivid-cdn.git cd vivid-cdn ``` 2. Install dependencies: ```bash npm install # or yarn install ``` ### Environment Variables Create a `.env.local` file in the root directory and add the necessary environment variables. Examples include: ```env NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=YOUR_NEXTAUTH_SECRET # Add any other database or service specific environment variables here ``` ### Running the Development Server ```bash npm run dev # or yarn dev ``` Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. ## Usage * **Login:** Access the login page to authenticate and manage your files. * **Upload:** Use the upload interface to add new files to the CDN. * **Browse:** View and manage your uploaded files. * **CDN Access:** Files will be accessible via a unique CDN URL (e.g., `/cdn/[fileId]`). ## Contributing Contributions are welcome! Please feel free to open issues or submit pull requests. ## License This project is licensed under the MIT License.