Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/8syncdev/pose
Dự Án E-learning Platform
https://github.com/8syncdev/pose
Last synced: 4 days ago
JSON representation
Dự Án E-learning Platform
- Host: GitHub
- URL: https://github.com/8syncdev/pose
- Owner: 8syncdev
- Created: 2024-12-04T16:04:31.000Z (19 days ago)
- Default Branch: main
- Last Pushed: 2024-12-15T08:53:32.000Z (8 days ago)
- Last Synced: 2024-12-15T09:31:10.188Z (8 days ago)
- Language: TypeScript
- Homepage: https://8syncdev.com
- Size: 5.92 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tổng Quan Dự Án E-learning Platform
## 🌐 Thông Tin Liên Hệ
- **Website**: [8syncdev.com](https://8syncdev.com)
- **GitHub**: [8 sync dev](https://github.com/8syncdev)
- **Tác giả**: Nguyễn Phương Anh Tú (Leader)
- **Liên hệ**: 0767449819## 📋 Mục Lục
1. [Kiến Trúc Hệ Thống](#kiến-trúc-hệ-thống)
2. [Backend Service](#backend-service)
3. [Frontend Application](#frontend-application)
4. [Database Design](#database-design)
5. [Tính Năng Chính](#tính-năng-chính)
6. [Công Nghệ Sử Dụng](#công-nghệ-sử-dụng)
7. [Tài Liệu Tham Khảo](#tài-liệu-tham-khảo)## 🏗 Kiến Trúc Hệ Thống
```mermaid
graph TB
Client[Client Browser] --> FE[NextJS Frontend]
FE --> AG[API Gateway]
AG --> MS1[User Service]
AG --> MS2[Course Service]
AG --> MS3[Payment Service]
AG --> MS4[Exercise Service]
AG --> MS5[Enrollment Service]
MS1 --> DB1[(User DB)]
MS2 --> DB2[(Course DB)]
MS3 --> DB3[(Payment DB)]
MS4 --> DB4[(Exercise DB)]
MS5 --> DB5[(Enrollment DB)]
MS1 -.-> Cache[SSR Nextjs]
MS2 -.-> Cache
MS3 -.-> Cache
MS4 -.-> Cache
MS5 -.-> Cache
```## 🔧 Backend Service
### Cấu Trúc Thư Mục
```
encore-backend/
├── src/
│ ├── app/
│ │ ├── module/
│ │ │ ├── enrollments/
│ │ │ ├── exercises/
│ │ │ ├── payments/
│ │ │ └── users/
│ ├── shared/
│ └── utils/
├── design/
└── tests/
```### Microservices
#### Back end Encore được chia thành 5 microservices:
1. **User Service**
- Xác thực & Phân quyền
- Quản lý profile
- Role-based access control2. **Course Service**
- CRUD khóa học
- Quản lý chương/bài học
- Tracking tiến độ học tập3. **Enrollment Service**
- Xử lý thanh toán dựa đăng ký khóa học
- Quản lý giao dịch dùng realtime email sends.4. **Exercise Service**
- Quản lý bài tập
- AI Assistant tích hợp
- Chấm điểm tự động, phân luồng để theo dõi thời gian làm bài, dung lượng runtime để chấm điểm.5. **Payment Service**
- Xử lý tích hợp payment gateway6. **Auth Service**
- Identity Management từ User Service
- Quản lý xác thực và phân quyền token (JWT)#### Backend FastAPI LLM được viết bằng Python, sử dụng các model LLM từ Mistral, OpenAI, và LLaMA.
1. **LLM Service**
- Giải bài tập từ Exercise Service của Backend Encore
- Chống injestion attack
- Phân tích sentiment của người dùng
- Kiểm soát ngữ cảnh từ Exercise Service
- Kiểm soát token vì mục đích thương mại## 🎨 Frontend Application
### Cấu Trúc Thư Mục
```
nextjs-frontend/
├── app/
│ ├── (admin)/
│ │ ├── dashboard/
│ │ ├── courses/
│ │ └── users/
│ ├── (auth)/
│ └── (public)/
├── components/
└── lib/
```### Tính Năng UI
1. **Dashboard**
```mermaid
pie title Phân Bố Người Dùng
"Học viên" : 45
"Giảng viên" : 15
"Admin" : 5
```2. **Quản Lý Khóa Học**
- Tạo/sửa/xóa khóa học
- Upload video bài giảng
- Quản lý nội dung markdown## 💾 Database Design
```mermaid
erDiagram
USER ||--o{ ENROLLMENT : enrolls
USER ||--o{ PAYMENT : makes
COURSE ||--o{ CHAPTER : contains
CHAPTER ||--o{ LESSON : contains
LESSON ||--o{ EXERCISE : has
```## 🛠 Công Nghệ Sử Dụng
### Backend
#### Encore
- Encore Framework
- TypeScript
- PostgreSQL
- Cache: SSR NextJS
- Firebase Storage
- Firebase Auth
#### LLM FastAPI
- FastAPI
- Python Langchain### Frontend
- Next.js 15 (Mới ra mắt vào tháng 11/2024)
- TailwindCSS (CSS)
- Shadcn UI (Component UI)
- React Query (Quản lý trạng thái và fetch dữ liệu)
- Framer Motion (Hiệu ứng động)## 📚 Tài Liệu Tham Khảo
### Kiến Trúc
- [Microservices Pattern](https://microservices.io/patterns/index.html)
- [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)### Công Nghệ
- [Encore Documentation](https://encore.dev/docs)
- [Next.js Documentation](https://nextjs.org/docs)
- [TailwindCSS](https://tailwindcss.com/docs)## 🔄 CI/CD Pipeline
```mermaid
graph LR
A[Code Push] --> B[Build]
B --> C[Test]
C --> D[Deploy Staging]
D --> E[Deploy Production]
```## 📊 Monitoring & Analytics
- Sử dụng Encore's built-in monitoring
- Error tracking với Sentry
- Performance monitoring với New Relic
- Custom analytics dashboard## 🔐 Security
- JWT Authentication
- Role-based Authorization
- Indentity Management (via AuthService)
- API Rate Limiting
- SQL Injection Prevention
- XSS Protection
- CORS Policy## 🚀 Deployment
- Backend: AWS với Encore Cloud
- Frontend: Vercel
- Database: Neon (PostgreSQL)
- Cache: SSR NextJS
- Storage: Firebase Storage## 📈 Roadmap
1. Q1/2024:
- Tích hợp payment gateway
- Nâng cấp AI assistant
2. Q2/2024:
- Mobile app với React Native
- Real-time collaboration features3. Q3/2024:
- Analytics dashboard
- Performance optimization4. Q4/2024:
- Internationalization
- Advanced reporting