Skip to content

SLIIT HUB is a modular web platform that enables students to collaborate, share academic content, and access real-time support. Built with React, Node.js, and integrated AI services, it streamlines communication and learning within the academic community.

Notifications You must be signed in to change notification settings

J-A-D-Dulmina/SLIIT-HUB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

81 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

README.md

SLIIT-HUB ๐ŸŽ“

A Comprehensive Educational Platform for Video-Based Learning, Real-Time Collaboration, and AI-Powered Content Analysis

React Node.js MongoDB Python License

๐Ÿ“– Table of Contents

๐ŸŽฏ Overview

SLIIT-HUB is a modern, comprehensive educational platform designed to facilitate video-based learning, real-time collaboration, and AI-powered content analysis. The system serves students, lecturers, and administrators with role-based access control and cutting-edge web technologies.

Key Highlights

  • ๐ŸŽฅ Video Content Management: Upload, process, and stream educational videos
  • ๐Ÿค– AI Integration: Automatic transcription, summarization, and content analysis
  • ๐Ÿ’ฌ Real-Time Communication: WebRTC-based video conferencing and meetings
  • ๐Ÿ‘ฅ Role-Based Access: Separate interfaces for students, lecturers, and administrators
  • ๐Ÿ“š Resource Repository: Comprehensive file management and sharing system
  • ๐Ÿ“Š Analytics Dashboard: Performance tracking and insights

โœจ Features

๐ŸŽ“ Student Features

  • Video Upload & Management: Upload educational videos with metadata
  • Lecturer Review System: Request reviews and receive feedback
  • Resource Access: Download and organize educational materials
  • Meeting Participation: Join virtual classrooms and study sessions
  • Progress Tracking: Monitor learning progress and achievements

๐Ÿ‘จโ€๐Ÿซ Lecturer Features

  • Content Review: Review and approve student video submissions
  • Resource Management: Upload and organize course materials
  • Meeting Hosting: Create and manage virtual classrooms
  • Student Monitoring: Track student progress and engagement
  • Content Creation: Develop and share educational resources

๐Ÿ‘จโ€๐Ÿ’ผ Administrator Features

  • User Management: Oversee student and lecturer accounts
  • Degree Management: Manage academic programs and courses
  • System Monitoring: Platform-wide analytics and insights
  • Content Moderation: Ensure content quality and compliance
  • System Announcements: Broadcast important information

๐Ÿค– AI-Powered Features

  • Automatic Transcription: Convert video audio to text using Whisper
  • Content Summarization: Generate concise video summaries with GPT
  • Scene Detection: Identify topic transitions and key moments
  • Smart Descriptions: Auto-generate video descriptions and tags
  • Content Analysis: Extract insights and patterns from videos

๐Ÿ› ๏ธ Technology Stack

Frontend

  • React 18: Modern UI framework with hooks and context
  • React Router: Client-side routing and navigation
  • Axios: HTTP client for API communication
  • CSS3: Custom styling with CSS variables and modules
  • WebRTC: Real-time video and audio communication

Backend

  • Node.js: Server-side JavaScript runtime
  • Express.js: Web application framework
  • MongoDB: NoSQL database for data persistence
  • Mongoose: MongoDB object modeling
  • Socket.io: Real-time bidirectional communication
  • JWT: JSON Web Token authentication

AI Services

  • Python 3.9+: AI processing and analysis
  • Flask: Lightweight web framework for AI API
  • OpenAI Whisper: Speech-to-text transcription
  • OpenAI GPT: Content generation and summarization
  • OpenCV: Computer vision and scene detection
  • NumPy/Pandas: Data processing and analysis

Development Tools

  • Git: Version control and collaboration
  • npm/yarn: Package management
  • ESLint: Code quality and consistency
  • Jest: Testing framework
  • Docker: Containerization and deployment

๐Ÿ—๏ธ System Architecture

Frontend Architecture

src/
โ”œโ”€โ”€ modules/           # Feature-based modules
โ”‚   โ”œโ”€โ”€ admin/        # Administrative functions
โ”‚   โ”œโ”€โ”€ ai/           # AI tool interface
โ”‚   โ”œโ”€โ”€ calendar/     # Calendar and reminders
โ”‚   โ”œโ”€โ”€ communication/# Meeting system
โ”‚   โ”œโ”€โ”€ content/      # Video content management
โ”‚   โ”œโ”€โ”€ lecturer/     # Lecturer review system
โ”‚   โ”œโ”€โ”€ resources/    # File repository
โ”‚   โ”œโ”€โ”€ tutoring/     # Student video uploads
โ”‚   โ””โ”€โ”€ user/         # Authentication and profiles
โ”œโ”€โ”€ shared/           # Common components
โ”‚   โ”œโ”€โ”€ components/   # Reusable UI components
โ”‚   โ”œโ”€โ”€ hooks/        # Custom React hooks
โ”‚   โ””โ”€โ”€ styles/       # Global CSS and variables
โ””โ”€โ”€ services/         # API and WebRTC services

Backend Architecture

server/
โ”œโ”€โ”€ modules/          # Feature modules
โ”‚   โ”œโ”€โ”€ admin/        # Degree and user management
โ”‚   โ”œโ”€โ”€ ai/           # AI service integration
โ”‚   โ”œโ”€โ”€ announcements/# System announcements
โ”‚   โ”œโ”€โ”€ content/      # Video and comment management
โ”‚   โ”œโ”€โ”€ lecturer/     # Review workflow
โ”‚   โ”œโ”€โ”€ meeting/      # Real-time meeting system
โ”‚   โ”œโ”€โ”€ notifications/# User notifications
โ”‚   โ”œโ”€โ”€ resources/    # File management
โ”‚   โ”œโ”€โ”€ tutoring/     # Student video processing
โ”‚   โ””โ”€โ”€ user/         # Authentication and profiles
โ”œโ”€โ”€ middleware/       # Auth and validation
โ”œโ”€โ”€ websocket/        # Real-time communication
โ””โ”€โ”€ config/           # Database and environment

AI Service Architecture

python_services/
โ”œโ”€โ”€ api.py            # Flask API endpoints
โ”œโ”€โ”€ gpt/              # GPT integration service
โ”œโ”€โ”€ scene_detection/  # Video scene analysis
โ”œโ”€โ”€ whisper_service/  # Audio transcription
โ””โ”€โ”€ tests/            # Comprehensive test suite

๐Ÿš€ Installation

Prerequisites

  • Node.js 18.0.0 or higher
  • MongoDB 6.0 or higher
  • Python 3.9 or higher
  • Git

1. Clone the Repository

git clone https://github.com/your-username/SLIIT-HUB.git
cd SLIIT-HUB

2. Install Frontend Dependencies

cd client
npm install

3. Install Backend Dependencies

cd ../server
npm install

4. Install AI Service Dependencies

cd ../python_services
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

5. Environment Configuration

# Copy environment templates
cp .env.example .env
cp python_services/env_template.txt python_services/.env

# Edit environment variables
nano .env
nano python_services/.env

โš™๏ธ Configuration

Environment Variables

Backend (.env)

# Server Configuration
PORT=5000
NODE_ENV=development

# Database
MONGO_URI=mongodb://localhost:27017/sliithub_db

# Authentication
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRE=24h

# AI Service
AI_SERVICE_URL=http://localhost:5001

# File Upload
MAX_FILE_SIZE=100000000
UPLOAD_PATH=./uploads

AI Service (python_services/.env)

# Flask Configuration
FLASK_APP=api.py
FLASK_ENV=development
PORT=5001

# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key

# File Paths
UPLOAD_FOLDER=./uploads
THUMBNAIL_FOLDER=./uploads/thumbnails

Database Setup

# Start MongoDB
mongod

# Create database
mongo
use sliithub_db

๐ŸŽฎ Usage

Starting the Application

1. Start Backend Server

cd server
npm start
# Server will run on http://localhost:5000

2. Start AI Service

cd python_services
python api.py
# AI service will run on http://localhost:5001

3. Start Frontend Application

cd client
npm start
# Frontend will run on http://localhost:3000

Accessing the Application

User Roles and Access

  1. Student Access

    • Register with student ID and email
    • Upload educational videos
    • Request lecturer reviews
    • Access learning resources
  2. Lecturer Access

    • Register with department credentials
    • Review student video submissions
    • Create and manage resources
    • Host virtual meetings
  3. Administrator Access

    • Manage user accounts
    • Oversee degree programs
    • Monitor system performance
    • Create system announcements

๐Ÿงช Testing

Running Tests

Frontend Tests

cd client
npm test

Backend Tests

cd server
npm test

AI Service Tests

cd python_services
python -m pytest tests/

Test Coverage

The application includes comprehensive testing with:

  • 52 Functional Test Cases across all modules
  • AI Model Accuracy Testing (88.3% overall accuracy)
  • Usability Testing (91.3% task success rate)
  • Performance and Security Testing

Test Results Summary

  • Functional Testing: 49/52 test cases passed (94.2% success rate)
  • AI Model Accuracy: 88.3% across all AI services
  • Usability: 91.3% task success rate
  • Performance: Handles 100+ concurrent users
  • Security: All security tests passed

๐Ÿ“š API Documentation

Authentication Endpoints

POST /api/register          # User registration
POST /api/login            # User login
POST /api/admin/login      # Admin login
GET  /api/profile          # Get user profile
PUT  /api/profile          # Update user profile

Video Management Endpoints

POST   /api/tutoring/upload           # Upload video
GET    /api/content/videos            # List videos
GET    /api/content/videos/:id        # Get video details
GET    /api/tutoring/videos/:id/stream # Stream video
POST   /api/tutoring/videos/:id/request-review # Request review

Meeting Endpoints

POST   /api/meetings                  # Create meeting
GET    /api/meetings                  # List meetings
GET    /api/meetings/:id              # Get meeting details
PUT    /api/meetings/:id              # Update meeting
DELETE /api/meetings/:id              # Delete meeting

AI Service Endpoints

POST /api/ai/generate-summary        # Generate video summary
POST /api/ai/generate-timestamps     # Generate video timestamps
POST /api/ai/generate-description    # Generate video description
GET  /api/ai/health                  # AI service health check

Resource Management Endpoints

POST   /api/resources/upload         # Upload resource
GET    /api/resources                # List resources
GET    /api/resources/download/:id   # Download resource
PUT    /api/resources/:id            # Update resource
DELETE /api/resources/:id            # Delete resource

๐Ÿš€ Deployment

Production Deployment

1. Environment Setup

# Set production environment
NODE_ENV=production
PORT=80

2. Build Frontend

cd client
npm run build

3. Start Production Server

cd server
npm start

4. AI Service Deployment

cd python_services
gunicorn -w 4 -b 0.0.0.0:5001 api:app

Docker Deployment

Backend Dockerfile

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 5000
CMD ["npm", "start"]

AI Service Dockerfile

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5001
CMD ["python", "api.py"]

Environment Considerations

  • HTTPS: SSL/TLS certificate configuration
  • Load Balancing: Nginx reverse proxy setup
  • Monitoring: Application performance monitoring
  • Backup: Automated database and file backups

๐Ÿค Contributing

We welcome contributions to SLIIT-HUB! Please follow these guidelines:

Contribution Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style and conventions
  • Write comprehensive tests for new features
  • Update documentation for any API changes
  • Ensure all tests pass before submitting

Code Standards

  • Use meaningful variable and function names
  • Add comments for complex logic
  • Follow ESLint configuration
  • Write clear commit messages

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • SLIIT: Sri Lanka Institute of Information Technology
  • OpenAI: For providing GPT and Whisper APIs
  • React Community: For the excellent frontend framework
  • Node.js Community: For the robust backend runtime
  • MongoDB: For the flexible NoSQL database

๐Ÿ“ž Support

For support and questions:

๐Ÿ”ฎ Future Roadmap

Planned Features

  • Mobile Application: React Native mobile app
  • Advanced Analytics: Learning progress tracking
  • Machine Learning: Personalized content recommendations
  • Multi-language Support: Internationalization
  • Advanced Search: Elasticsearch integration

Scalability Improvements

  • Microservices: Service decomposition
  • Message Queues: Asynchronous processing
  • CDN Integration: Content delivery optimization
  • Database Sharding: Horizontal scaling

SLIIT-HUB - Empowering Education Through Technology ๐Ÿš€

Built by J A D Dulmina

About

SLIIT HUB is a modular web platform that enables students to collaborate, share academic content, and access real-time support. Built with React, Node.js, and integrated AI services, it streamlines communication and learning within the academic community.

Topics

Resources

Stars

Watchers

Forks