NazimFilzer / Learnit.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Title

Learnit.ai: Revolutionizing Self-Learning with Personalized AI Curation

Features

  • AI-Powered Curation: Our platform leverages advanced AI algorithms to curate highly relevant learning resources tailored to each user's unique needs, including captivating educational videos sourced from YouTube and concise summaries.
  • Personalized Learning Paths: Utilizing Next.js, Learnit.ai constructs structured learning paths that adapt in real-time based on the user's learning style and progress, ensuring a customized learning experience.
  • Interactive Chatbot: Our built-in chatbot, powered by ChatGPT, offers real-time support and assistance, helping users navigate challenges and clarify complex topics.
  • Topic Specification: Users can specify the topics they wish to cover, enabling precise customization of course content to align with their learning objectives.
  • PDF Document Upload: Seamless integration of additional educational materials into the learning curriculum by allowing users to upload PDF documents.
  • Mindmap Generation: Learnit.ai goes beyond traditional course structures by providing users with visual representations of course content through mindmap generation, fostering deeper comprehension and organization of complex concepts.

Demo

Learnit.ai.2.mp4

Technologies Used

  • Next.js: A powerful framework for dynamic content generation, used for constructing personalized learning paths and dynamic content rendering.
  • Node.js: Backend runtime environment for server-side logic and API integrations.
  • NextAuth: Authentication library for user authentication and authorization.
  • AWS: Cloud computing services utilized for storing files.
  • Tailwind CSS: A utility-first CSS framework for creating custom designs with ease.
  • OpenAI API: Utilized for AI-powered curation and chatbot functionality.
  • YouTube API: Integrated for sourcing educational videos seamlessly.
  • Unsplash API: Utilized for fetching images for course to enhance the user experience.
  • Prisma: Database ORM for managing data and user profiles.

Installation

1.Clone the repository: git clone https://github.com/Noelgeorge017/Learnit.ai.

2.Install dependencies: npm install (or yarn install).

3.Create a .env.local file and define environment variables:

  • OPENAI_API_KEY=<your_openai_api_key>.
  • DATABASE_URL: The URL of your database. Example: mongodb://localhost/mydatabase.
  • GOOGLE_CLIENT_ID: Client ID for Google OAuth authentication. Example: 1234567890-abcd1234efgh5678ijklmnopqrstuvwxyz.apps.googleusercontent.com.
  • GOOGLE_CLIENT_SECRET: Client secret for Google OAuth authentication. Example: AbCdEfGhIjKlMnOpQrStUvWxYz.
  • NEXTAUTH_SECRET: Secret used for NextAuth.js authentication. Example: mysecretkey.
  • NEXTAUTH_URL: URL of your Next.js application. Example: https://localhost:3000.
  • NEXT_PUBLIC_S3_ACCESS_KEY_ID: Access key ID for AWS S3 bucket (public). Example: AKIA1234567890.
  • NEXT_PUBLIC_S3_SECRET_ACCESS_KEY: Secret access key for AWS S3 bucket (public). Example: AbCdEfGhIjKlMnOpQrStUvWxYz1234567890.
  • NEXT_PUBLIC_S3_BUCKET_NAME: Name of your AWS S3 bucket (public). Example: my-bucket.
  • NEXT_PUBLIC_S3_REGION: AWS region where the S3 bucket is located. Example: us-east-1.
  • OPENAI_API_KEY: API key for OpenAI API. Example: sk-abcdefghijklmno1234567890.
  • UNSPLASH_API_KEY: API key for Unsplash API. Example: AbCdEfGhIjKlMnOpQrStUvWxYz1234567890.
  • YOUTUBE_API_KEY: API key for YouTube Data API. Example: AIzaSyD-1234567890.
  • STRIPE_API_KEY: API key for Stripe API. Example: sk_test_1234567890.
  • STRIPE_WEBHOOK_SECRET: Secret used for Stripe webhook verification. Example: whsec_1234567890.

4.Set up Prisma: https://www.prisma.io/docs/getting-started/setup-prisma.

5.Start the development server: npm run dev (or yarn dev).

About


Languages

Language:TypeScript 95.5%Language:CSS 2.2%Language:Dockerfile 1.7%Language:JavaScript 0.6%