Skip to content

ansonlo-dev/LingUBible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LingUBible Logo

Let every review be a guiding light on your learning journey

English ็น้ซ”ไธญๆ–‡ ็ฎ€ไฝ“ไธญๆ–‡

React TypeScript Vite Tailwind CSS Appwrite

Deployed to Cloudflare License: MIT PRs Welcome Maintenance

Ko-fi


๐ŸŒŸ A course and lecturer review platform designed specifically for Lingnan University students

Helping students make informed academic choices and share authentic learning experiences

๐Ÿš€ Get Started โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿค Contributing โ€ข ๐ŸŒ Multi-language Support


๐Ÿ“ธ Project Preview

๐ŸŽจ Modern Interface Design

Responsive design with dark/light theme support

๐ŸŒ… Light Theme ๐ŸŒ™ Dark Theme
Light Theme Dark Theme

๐Ÿ“ฑ Multi-Device Support

Perfect adaptation for desktop, tablet, and mobile

Responsive Design

๐ŸŽฏ Core Features Showcase

Course Reviews
Course Reviews
Lecturer Ratings
Lecturer Ratings
Smart Search
Smart Search
Multilingual
Multi-language Support
Data Analytics
Interactive Charts

โœจ Core Features

Feature Description Status
๐Ÿ“ Course Reviews Share detailed course learning experiences and recommendations โœ…
๐Ÿ‘จโ€๐Ÿซ Lecturer Ratings Evaluate teaching quality and teaching style โœ…
๐Ÿ” Smart Search Quickly find course and lecturer information โœ…
๐Ÿ” Secure Authentication Student email verification system โœ…
๐ŸŒ Multi-language Support English, Traditional Chinese, Simplified Chinese โœ…
๐Ÿ“ฑ Responsive Design Support for all devices and screen sizes โœ…
๐ŸŽจ Modern UI Beautiful and intuitive user interface โœ…
๐ŸŒ™ Theme Toggle Free switching between dark/light themes โœ…
๐Ÿ“Š Data Statistics Personal review statistics and achievement system with interactive charts โœ…
๐Ÿ”” Real-time Notifications Important updates and interaction reminders โœ…
โšก High Performance Optimized bundle size and fast loading times โœ…

๐Ÿ› ๏ธ Technical Architecture

๐Ÿ—๏ธ Tech Stack

Category Technology Version Purpose
๐ŸŽจ Frontend React 18.3.1 UI Framework
TypeScript 5.5.3 Type Safety
Vite 7.0.0 Build Tool
Tailwind CSS 3.4.17 Styling
shadcn/ui Latest UI Components
ECharts Latest Data Visualization & Charts
๐Ÿ”ง Backend Appwrite 18.1.1 BaaS Platform
Email Services - Communication
Authentication - User Management
๐Ÿ“ฆ Tools Bun Latest Package Manager & Runtime
ESLint Latest Code Linting
PostCSS Latest CSS Processing
i18n - Internationalization
๐Ÿง Environment Linux - Development OS
graph TD
    subgraph "๐ŸŽจ Frontend Stack"
        A[React 18.3.1]
        B[TypeScript 5.5.3]
        C[Vite 7.0.0]
        D[Tailwind CSS]
        E[shadcn/ui]
    end
    
    subgraph "๐Ÿ”ง Backend Services"
        F[Appwrite 18.1.1]
        G[Email Services]
        H[Authentication]
    end
    
    subgraph "๐Ÿ“ฆ Development Tools"
        I[ESLint]
        J[PostCSS]
        K[i18n]
    end
    
    style A fill:#61dafb
    style B fill:#3178c6
    style C fill:#646cff
    style D fill:#06b6d4
    style E fill:#000000
    style F fill:#fd366e
    style G fill:#ea4335
    style H fill:#4285f4
    style I fill:#4b32c3
    style J fill:#dd3a0a
    style K fill:#009688
Loading

๐Ÿ›๏ธ Project Architecture

graph TD
    A[๐Ÿ  lingubible] --> B[๐Ÿ“ src]
    A --> C[๐Ÿ“š docs]
    A --> D[๐Ÿ› ๏ธ tools]
    A --> E[๐ŸŒ public]
    A --> F[โš™๏ธ functions]
    
    B --> B1[๐Ÿงฉ components]
    B --> B2[๐Ÿ“„ pages]
    B --> B3[๐Ÿ”ง services]
    B --> B4[๐ŸŽฃ hooks]
    B --> B5[๐Ÿ› ๏ธ utils]
    B --> B6[๐Ÿ“ types]
    
    B1 --> B1A[auth]
    B1 --> B1B[layout]
    B1 --> B1C[user]
    B1 --> B1D[common]
    B1 --> B1E[features]
    B1 --> B1F[ui]
    
    B2 --> B2A[auth]
    B2 --> B2B[user]
    B2 --> B2C[demo]
    B2 --> B2D[legal]
    
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style D fill:#fff3e0
    style E fill:#fce4ec
    style F fill:#f1f8e9
Loading

๐Ÿ“‚ Directory Structure Overview

Directory Purpose Key Components
๐Ÿ“ src/ Source code Main application code
โ”œโ”€โ”€ ๐Ÿงฉ components/ React components UI building blocks
โ”œโ”€โ”€ ๐Ÿ“„ pages/ Page components Route-level components
โ”œโ”€โ”€ ๐Ÿ”ง services/ API services External service integrations
โ”œโ”€โ”€ ๐ŸŽฃ hooks/ Custom Hooks Reusable React logic
โ”œโ”€โ”€ ๐Ÿ› ๏ธ utils/ Utility functions Helper functions and constants
โ””โ”€โ”€ ๐Ÿ“ types/ TypeScript types Type definitions
๐Ÿ“š docs/ Documentation Project documentation
๐Ÿ› ๏ธ tools/ Development tools Build scripts and utilities
๐ŸŒ public/ Static assets Images, icons, manifest
โš™๏ธ functions/ Cloud functions Serverless functions

๐Ÿ“Š Performance Metrics

Bundle Size
Bundle Size
Load Time
Load Time
PWA Ready
PWA Support

โšก Performance Metrics

๐Ÿ“Š Bundle Analysis & Load Times

Metric Value Status
๐Ÿ“ฆ Bundle Size ~357KB (gzipped: ~99KB) ๐ŸŸข Optimized
โšก Initial Load < 2s ๐ŸŸข Fast
๐Ÿ”„ Hot Reload < 300ms ๐ŸŸข Instant
๐Ÿ—๏ธ Build Time ~6s ๐ŸŸข Quick
๐Ÿ“ฑ Mobile Performance 95+ Lighthouse Score ๐ŸŸข Excellent
๐Ÿ–ฅ๏ธ Desktop Performance 98+ Lighthouse Score ๐ŸŸข Excellent

๐Ÿš€ Powered by Bun + Vite 7

  • ๐Ÿ“ฆ Package Installation: 15x faster than npm with Bun
  • โšก Development Startup: 3x faster with Bun + Vite 7 optimizations
  • ๐Ÿ”ง Build Process: Enhanced compilation with Vite 7's improved bundling
  • ๐Ÿ”„ Hot Module Replacement: Lightning-fast updates with Vite 7's HMR

๐Ÿš€ Quick Start

๐Ÿ“‹ System Requirements

  • Node.js: >= 20.19.0 (Required for Vite 7)
  • bun: >= 1.0.0 (Fast JavaScript runtime & package manager)
  • Git: Latest version

โšก Why Bun?

We've migrated from npm to Bun for enhanced development experience:

  • ๐Ÿš€ Lightning Fast: Up to 25x faster than npm for package installation
  • ๐Ÿ”ง All-in-One: Runtime, bundler, test runner, and package manager
  • ๐Ÿ“ฆ Drop-in Replacement: Compatible with npm packages and scripts
  • ๐Ÿ›ก๏ธ Built-in Security: Automatic lockfile verification
  • ๐Ÿ’พ Efficient Caching: Smart dependency caching reduces install times

๐Ÿš€ Vite 7 - Next Generation Build Tool

We've upgraded to Vite 7 for cutting-edge development performance:

  • โšก Enhanced Performance: Improved build speeds and optimizations
  • ๐ŸŽฏ Modern Browser Support: Chrome 107+, Firefox 104+, Safari 16.0+
  • ๐Ÿ”ง Better Tree Shaking: More efficient bundle optimization
  • ๐Ÿ“ฆ Improved HMR: Faster hot module replacement
  • ๐Ÿ› ๏ธ Enhanced Plugin System: Better plugin compatibility and performance
  • ๐ŸŽจ Advanced CSS Features: Improved CSS processing and optimization

โšก Quick Installation

# 1๏ธโƒฃ Clone the project
git clone https://github.com/ansonlo-dev/LingUBible.git
cd LingUBible

# 2๏ธโƒฃ Install dependencies
bun install
# Fast and reliable package manager

# 3๏ธโƒฃ Environment setup
cp env.example .env.local

# 4๏ธโƒฃ Start development server
bun run dev
# Lightning fast development experience

๐Ÿ”ง Environment Configuration

๐Ÿ“ Click to view detailed configuration steps
  1. Copy environment variable template

    cp env.example .env.local
  2. Configure necessary environment variables

    # Appwrite configuration
    VITE_APPWRITE_ENDPOINT=your_appwrite_endpoint
    VITE_APPWRITE_PROJECT_ID=your_project_id
    VITE_APPWRITE_DATABASE_ID=your_database_id
    
    # Email service configuration
    VITE_EMAIL_SERVICE_ID=your_email_service_id
    
    # Other configurations...
  3. Refer to detailed setup guides

๐ŸŽฏ Available Scripts

# ๐Ÿš€ Development
bun run dev              # Start development server
bun run build            # Build production version
bun run preview          # Preview production build

# ๐Ÿ” Code Quality
bun run lint             # Code linting
bun run refactor:check   # Refactoring check

# ๐Ÿ“š Documentation
bun run docs:structure   # View documentation structure
bun run project:structure # View project structure

# ๐Ÿ› ๏ธ Tools
bun run docs:setup       # Setup multi-language documentation
bun run refactor:update-imports # Update import paths
bun run readme:generate-assets  # Generate README assets

๐ŸŒ Language / ่ชž่จ€

Language README Documentation Status
English README.md Documentation โœ… Complete
็น้ซ”ไธญๆ–‡ README.md ๆ–‡ๆช” โœ… Complete
็ฎ€ไฝ“ไธญๆ–‡ README.md ๆ–‡ๆกฃ โœ… Complete

๐Ÿ“– Documentation Navigation

๐Ÿ“š Complete Documentation Structure

Category Content Link
๐Ÿ”ง Setup Guide Environment configuration, dependency installation, deployment setup ๐Ÿ“– Setup
โšก Feature Documentation Core features, API usage, component introduction ๐Ÿ“– Features
๐Ÿš€ Deployment Guide Production deployment, CI/CD, performance optimization ๐Ÿ“– Deployment
๐Ÿงช Testing Documentation Unit testing, integration testing, E2E testing ๐Ÿ“– Testing
๐Ÿ› ๏ธ Development Documentation Architecture design, refactoring records, development standards ๐Ÿ“– Development

๐Ÿค Contributing

๐ŸŒŸ Welcome to contribute!

We welcome all forms of contributions, whether it's code, documentation, design, or idea sharing.

Contributors

๐Ÿ“ Contribution Guide

  1. ๐Ÿด Fork the project
  2. ๐ŸŒฟ Create feature branch (git checkout -b feature/AmazingFeature)
  3. ๐Ÿ’พ Commit changes (git commit -m 'Add some AmazingFeature')
  4. ๐Ÿ“ค Push to branch (git push origin feature/AmazingFeature)
  5. ๐Ÿ”„ Create Pull Request

๐Ÿ“‹ Contribution Types

  • ๐Ÿ› Bug Fixes - Help us fix issues
  • โœจ New Features - Add useful new functionality
  • ๐Ÿ“ Documentation Improvements - Enhance project documentation
  • ๐ŸŽจ UI/UX Improvements - Improve user experience
  • ๐ŸŒ Translations - Support more languages
  • ๐Ÿงช Testing - Increase test coverage

๐Ÿ“– Detailed Guides


๐Ÿ“Š Project Statistics

GitHub stars GitHub forks GitHub watchers

GitHub issues GitHub pull requests GitHub last commit

GitHub code size GitHub repo size


โค๏ธ Support This Project

๐ŸŒŸ Help Us Keep LingUBible Growing!

If you find LingUBible helpful for your academic journey, consider supporting our development efforts. Your support helps us:

  • ๐Ÿš€ Add New Features - Continuously improve the platform
  • ๐Ÿ› Fix Bugs & Issues - Maintain a stable experience
  • ๐ŸŒ Expand Language Support - Reach more students
  • ๐Ÿ“ฑ Improve Performance - Optimize for better user experience
  • ๐ŸŽจ Enhance UI/UX - Create a more beautiful interface

โ˜• Support LingUBible

Support LingUBible

Every contribution, no matter how small, makes a difference! ๐Ÿ™

Ko-fi

๐ŸŽฏ Other Ways to Support

  • โญ Star this repository - Help others discover LingUBible
  • ๐Ÿ› Report bugs - Help us improve the platform
  • ๐Ÿ’ก Suggest features - Share your ideas with us
  • ๐Ÿ“ Contribute code - Join our development team
  • ๐ŸŒ Spread the word - Tell your friends about LingUBible

๐Ÿ† Acknowledgments

๐Ÿ’ Special Thanks

๐Ÿ“š LingUBible's success is inseparable from the following support:

Category Thanks to
๐Ÿ› ๏ธ Technical Support React, TypeScript, Vite 7, Tailwind CSS, Appwrite and other open source projects
๐ŸŽจ Design Inspiration shadcn/ui, Radix UI, Lucide Icons and other design systems
๐ŸŒ Community Support GitHub, Stack Overflow, Reddit and other developer communities
๐ŸŽ“ User Feedback Valuable opinions and suggestions from Lingnan University student community
โค๏ธ Development Team Hard work of all contributors and maintainers

๐ŸŒŸ Open Source Spirit

This project adheres to the open source spirit and is committed to:

  • ๐Ÿ“– Knowledge Sharing - Share technical experience and best practices
  • ๐Ÿค Community Collaboration - Welcome everyone to participate and contribute
  • ๐Ÿš€ Continuous Improvement - Continuously optimize and improve functionality
  • ๐ŸŒ Serving Society - Contribute to education

๐Ÿ“„ License

๐Ÿ“œ MIT License

This project is licensed under the MIT License

Copyright (c) 2025 LingUBible

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

๐Ÿš€ Let's build a better learning environment together!

โญ If this project helps you, please give us a Star!

GitHub stars


๐Ÿ”— Related Links

๐ŸŒ Official Website โ€ข ๐Ÿ“ง Contact Us โ€ข ๐Ÿ’ฌ Discussions โ€ข ๐Ÿ› Issue Reports


โš ๏ธ Disclaimer

This website has no official affiliation with Lingnan University. All reviews and opinions are personal views of users and do not represent the position of Lingnan University.


Built with โค๏ธ by ansonlo.dev | Powered by Open Source

About

LingUBible - Course & Lecturer Reviews

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Contributors 3

  •  
  •  
  •