mochi-stream / mochi

(In Dev) 🍡 Mochi - Powerful anime streaming platform with a user-friendly interface and high-quality streaming.
https://mochi-preview.vercel.app
BSD 3-Clause "New" or "Revised" License
15 stars 5 forks source link
anime anime-streaming apollo-client clerk nextjs prisma shadcn supabase vidstack

🍡 Mochi - Anime Streaming Platform

Mochi is an anime streaming platform designed to provide a seamless and high-quality viewing experience. With a user-friendly interface and support for community interactions, Mochi makes it easy for users to enjoy their favorite anime series and connect with fellow fans.

Table of Contents

Features

Upcoming Features

Getting Started

To get started with Mochi, follow these steps:

  1. Clone the Repository
    git clone https://github.com/mochi-stream/mochi
  2. Navigate to the Project Directory
    cd mochi
  3. Install Dependencies. Make sure you have Node.js installed. Then run:
    npm install
  4. Create a Clerk Account and Set Up a Project

    • Go to Clerk and sign up for an account if you don't have one.
    • Create a new project within your Clerk dashboard.
    • Obtain the Publishable Key and Secret Key from the Clerk project settings.
  5. Create a Webhook
    • In your Clerk dashboard, navigate to the Webhooks section.
    • Create a new webhook and configure it to point to the following URL:
      • Production: https://yourdomain.com/api/webhooks/clerk
      • Development (using ngrok): Set up an ngrok tunnel to expose your local server and use the generated URL, e.g., https://abcdefg.ngrok.io/api/webhooks/clerk.
  6. Set Up Environment Variables. Copy the content of .env.example and paste that into a new file .env
    • NEXT_PUBLIC_CONSUMET_URL: URL for the consumet API.
    • NEXT_PUBLIC_CORS_URL: URL for CORS configuration.
    • POSTGRES_PRISMA_URL: Prisma connection URL for PostgreSQL.
    • POSTGRES_URL_NON_POOLING: PostgreSQL URL for non-pooling connection.
    • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Clerk publishable key obtained from the Clerk project settings.
    • CLERK_SECRET_KEY: Clerk secret key obtained from the Clerk project settings.
    • CLERK_WEBHOOK_SECRET: Webhook secret key used to validate incoming requests from Clerk.
  7. Run the Development Server
    npm run dev

If you encounter any issues setting up the environment variables or configuring Clerk, please create an issue on for assistance.

Technology Stack

Credits

Mochi's user interface design is heavily inspired by the Kurosaw Anime Streaming Web App on Dribbble. We would like to give credit to the original designer for their excellent work that inspired many of our design choices.