Skip to content

React-based frontend for an e-learning platform, including user interfaces for course browsing, contest participation, community discussions, and more. Styled with Tailwind CSS.

Notifications You must be signed in to change notification settings

danish-kv/learnora-frontend

Repository files navigation

Learnora Frontend

Welcome to the Learnora Frontend repository! This is the client-side application for Learnora, an innovative e-learning platform that provides an interactive and engaging learning experience for students, tutors, and administrators.

Features

User Experience

  • Responsive design for all devices
  • Intuitive course browsing and management
  • Real-time video conferencing and chat
  • Interactive learning tools and assessments
  • Progress tracking and analytics visualization

Key Components

  • Authentication System: Secure login with JWT and Google OAuth
  • Course Marketplace: Browse, purchase, and access educational content
  • Live Communication: Real-time chat and video calls using ZegoCloud
  • Interactive Learning: MCQ contests, discussions, and community features
  • Data Visualization: Charts and progress tracking using Recharts
  • File Management: AWS S3 integration for file uploads
  • Payment Processing: Secure payments via Stripe integration

Tech Stack

Core Technologies

  • Framework: React.js
  • State Management: Redux Toolkit with Redux Persist
  • Routing: React Router DOM
  • Styling: Tailwind CSS with components from:
    • Radix UI
    • shadcn/ui
    • Tailwind

UI/UX Libraries

  • Icons:
    • Font Awesome
    • Lucide React
    • React Icons
  • Animations: Framer Motion
  • Charts:
    • Recharts
    • Chart.js with react-chartjs-2
  • Forms:
    • Formik
    • Yup (validation)
  • Date Handling: date-fns
  • Notifications:
    • React Hot Toast
    • SweetAlert2

Additional Features

  • Video Player: React Player
  • PDF Generation: jspdf with html2canvas
  • Data Tables: React Table
  • Progress Indicators:
    • React Circular Progressbar
    • Loading Indicators

Getting Started

Prerequisites

  • Node.js (LTS version)
  • npm or yarn
  • Git

Installation

  1. Clone the Repository
git clone https://github.com/danish-kv/learnora-frontend
cd learnora-frontend
  1. Install Dependencies
npm install
# or
yarn install
  1. Environment Setup Create a .env file in the root directory:
VITE_API_URL=your_backend_api_url
VITE_API_WS_URL=your_backend_ws_api_url
VITE_CLIENT_ID=your_google_client_id
VITE_ZEGO_APP_ID=your_zegocloud_app_id
VITE_ZEGO_SECRET_KEY=your_zegocloud_server_secret
  1. Start Development Server
npm run dev
# or
yarn dev

Project Structure

src/
├── assets/          # Static assets
├── components/      # Reusable UI components
├── features/        # Feature-specific components
├── hooks/           # Custom React hooks
├── layouts/         # Page layouts
├── lib/            # Utility functions
├── pages/          # Route components
├── services/       # API services
├── store/          # Redux store configuration
├── styles/         # Global styles
└── utils/          # Miscellaneous utility functions

Related Projects

About

React-based frontend for an e-learning platform, including user interfaces for course browsing, contest participation, community discussions, and more. Styled with Tailwind CSS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages