๐ 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
Responsive design with dark/light theme support
| ๐ Light Theme | ๐ Dark Theme |
|---|---|
Perfect adaptation for desktop, tablet, and mobile
|
Course Reviews |
Lecturer Ratings |
Smart Search |
Multi-language Support |
Interactive Charts |
| 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 | โ |
| 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
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
| 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 |
|
Bundle Size |
Load Time |
PWA Support |
| 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 |
- ๐ฆ 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
- Node.js: >= 20.19.0 (Required for Vite 7)
- bun: >= 1.0.0 (Fast JavaScript runtime & package manager)
- Git: Latest version
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
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
# 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๐ Click to view detailed configuration steps
-
Copy environment variable template
cp env.example .env.local
-
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...
-
Refer to detailed setup guides
# ๐ 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 | README | Documentation | Status |
|---|---|---|---|
| English | README.md | Documentation | โ Complete |
| ็น้ซไธญๆ | README.md | ๆๆช | โ Complete |
| ็ฎไฝไธญๆ | README.md | ๆๆกฃ | โ Complete |
| 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 |
We welcome all forms of contributions, whether it's code, documentation, design, or idea sharing.
- ๐ด Fork the project
- ๐ฟ Create feature branch (
git checkout -b feature/AmazingFeature) - ๐พ Commit changes (
git commit -m 'Add some AmazingFeature') - ๐ค Push to branch (
git push origin feature/AmazingFeature) - ๐ Create Pull Request
- ๐ 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
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
Every contribution, no matter how small, makes a difference! ๐
- โญ 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
๐ 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 |
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
๐ 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.
โญ If this project helps you, please give us a Star!
๐ Related Links
๐ Official Website โข ๐ง Contact Us โข ๐ฌ Discussions โข ๐ Issue Reports
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