Skip to content

afnanhussain2002/zipvid

Repository files navigation


📦 zipvid

Next.js Tailwind CSS TypeScript Prisma

zipvid is a full-stack web application designed to allow users to upload and manage video content, including images, while also handling social media formats.

📁 Project Structure

zipvid-main/
├── prisma/                    # Database migration and schema files
│   ├── migrations/
│   │   └── [migrations]
│   └── schema.prisma          # Prisma schema file
├── src/
│   ├── app/
│   │   ├── (app)/             # Core app pages (home, video upload, etc.)
│   │   ├── (auth)/            # Authentication pages (sign-in, sign-up)
│   │   ├── api/               # API routes for video and image upload
│   │   ├── fonts/             # Custom fonts used in the project
│   │   ├── globals.css        # Global styles
│   │   └── layout.tsx         # Main layout file
│   └── components/            # Reusable components (e.g., VideoCard)
│   └── types/                 # TypeScript types
├── .eslintrc.json             # ESLint configuration
├── .gitignore                 # Git ignore file
├── next.config.mjs            # Next.js configuration file
├── package.json               # Project dependencies and scripts
├── postcss.config.mjs         # PostCSS configuration for Tailwind
├── tailwind.config.ts         # Tailwind CSS configuration
└── tsconfig.json              # TypeScript configuration

✨ Features

  • 🔒 User Authentication: Secure sign-in and sign-up using built-in authentication pages.
  • 📹 Video Upload: Upload videos with social media formatting support.
  • 🖼️ Image Upload: API support for image uploads.
  • 🎨 Responsive Design: Tailwind CSS-powered responsive UI for various screen sizes.
  • Prisma: Easy database management and migration with Prisma ORM.

🚀 Getting Started

To get started with the project, follow the instructions below:

Prerequisites

  • Node.js version 16.x or higher
  • Prisma installed globally (npm install prisma --global)

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/zipvid.git
    cd zipvid-main
  2. Install dependencies:

    npm install
  3. Configure the environment variables: Create a .env file at the root of the project and add your database and API keys.

  4. Run database migrations:

    npx prisma migrate dev
  5. Start the development server:

    npm run dev

🧪 Running Tests

To run tests, use the following command:

npm test

⚙️ Configuration

  • next.config.mjs: Next.js configuration for optimization and custom server handling.
  • prisma/schema.prisma: Defines the database schema for videos and users.

📂 API Endpoints

  • Video Upload: POST /api/video-upload
  • Image Upload: POST /api/image-upload
  • Get Videos: GET /api/videos

📸 Screenshots

Video Upload Page


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published