Skip to content

Ayaanshaikh90/sieve-repo

 
 

Repository files navigation

Sieve 🎬📚

Welcome to Sieve, an IMDB-like platform for discovering and rating the best YouTube playlists or videos on software development, web development, programming languages, frameworks, design, open source, and more. This platform aims to help newcomers and enthusiasts find high-quality and most-rated tutorials.

Sieve Banner

Table of Contents 📑

Project Overview 📝

Sieve is designed to be a comprehensive and user-friendly platform where users can:

  • Discover curated YouTube playlists on various technical topics.
  • Rate and review playlists to provide feedback and help others find valuable content.
  • Contribute by adding new playlists and enhancing the platform’s content library.

Features ✨

  • User Registration and Authentication: Secure user sign-up and login functionalities.
  • Playlist Discovery: Browse and search for the best playlists on different technical subjects.
  • Rating System: Rate and review playlists to help others gauge the quality of the content.
  • User Contributions: Submit new playlists to the platform, enriching the content repository.

Tech Stack 🛠️

  • Frontend: Next.js, TypeScript
  • Backend: Supabase, Next.js Server Actions
  • Database: Postgres
  • Validation: Zod

Installation 📥

To get a local copy up and running, follow these simple steps:

  1. Clone the repository:

    git clone https://github.com/anaskhan28/sieve-repo.git
    cd sieve
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory and add the necessary environment variables.

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_uri
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
    YOUTUBE_API_KEY=your_youtube_api_key
    
  4. Run the development server:

    npm run dev

Usage 🚀

Once the development server is running, you can:

  • Access the platform: Open http://localhost:3000 in your browser.
  • Register/Login: Create a new account or log in to access all features.
  • Browse Playlists: Explore playlists based on your interests.
  • Rate & Review: Provide ratings and reviews to share your feedback.
  • Contribute: Add new playlists to help the community grow.

Sieve Screenshot

Contributing 🤝

We welcome contributions from the community! To contribute:

  1. Fork the repository:

    • Click the "Fork" button on the top right corner of this repository.
  2. Clone your fork:

    git clone https://github.com/anaskhan28/sieve-repo.git
    cd sieve
  3. Create a new branch:

    git checkout -b feature/your-feature-name
  4. Make your changes and commit:

    git commit -m "Add your commit message"
  5. Push to the branch:

    git push origin feature/your-feature-name
  6. Open a Pull Request:

    • Navigate to the original repository and click the "New Pull Request" button.

Adding Playlists

To add a new playlist, please follow these steps:

  1. Open the playlist.json file.

  2. Add your playlist details in the following format:

      {
      "id": 1,
      "name": "Anas Khan",
      "playlist_link": "https://www.youtube.com/playlist?list=PLIY8eNdw5tW_7-QrsY_n9nC0Xfhs1tLEK",
      "summary": "All the concepts, algorithms and protocols related to Network Security which you as an IT student will need the most.",
      "title": "Network Security",
      "category": "Cyber Security",
      "user_profile_link": "https://github.com/anaskhan28",
      "user_Image": "https://avatars.githubusercontent.com/u/87796038?s=96&v=4"
    }
    
  3. Save the file and commit your changes.

License 📄

Distributed under the MIT License. See LICENSE for more information.

Contact 📧

Thank you for contributing to Sieve! Together, we can build a valuable resource for learners everywhere.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.5%
  • Other 1.5%