Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyHOU

MyHOU

📱 Giới thiệu

MyHOU là ứng dụng di động dành cho sinh viên trường Đại Học Mở Hà Nội giúp tra cứu lịch học một cách nhanh chóng và thuận tiện. Được phát triển hoàn toàn bằng Kotlin, ứng dụng cung cấp trải nghiệm người dùng mượt mà và thân thiện trên các thiết bị Android.

Tác giả:

  1. Trần Anh Quân - FullStack Dev
  2. Trần Trường Giang - Mobile Dev

Tổng quan hệ thống

📁 your_app/
│
├── 📁 data/                         # Tầng dữ liệu
│   ├── 📁 remote/                   # Retrofit API (network)
│   │   ├── ApiService.kt
│   │   └── RetrofitInstance.kt
│   │
│   ├── 📁 local/                    # Room database
│   │   ├── AppDatabase.kt
│   │   └── dao/
│   │       └── YourDao.kt
│   │
│   ├── 📁 repository/               # Kết nối giữa data và domain
│   │   └── YourRepositoryImpl.kt
│   │
│   └── 📁 model/                    # Model dùng cho network/db
│       └── YourDto.kt
│
├── 📁 domain/                       # Tầng logic nghiệp vụ
│   ├── 📁 model/                    # Domain model
│   │   └── YourModel.kt
│   ├── 📁 repository/               # Interface của repository
│   │   └── YourRepository.kt
│   └── 📁 usecase/                  # Các use case (tác vụ chính)
│       └── GetSomethingUseCase.kt
│
├── 📁 presentation/                 # Tầng UI
│   ├── 📁 screen/                   # Mỗi màn hình là 1 package
│   │   └── home/
│   │       ├── HomeScreen.kt        # Compose UI
│   │       ├── HomeViewModel.kt     # ViewModel
│   │       └── HomeUiState.kt       # State class (sealed class / data class)
│   │
│   ├── 📁 components/               # Các thành phần UI tái sử dụng
│   │   └── CustomButton.kt
│   └── 📁 navigation/               # Điều hướng
│       └── NavGraph.kt
│
├── 📁 di/                           # Dependency Injection (Hilt)
│   └── AppModule.kt
│
├── 📁 utils/                        # Tiện ích, extension functions
│   └── NetworkUtils.kt
│
├── MainActivity.kt
└── YourApp.kt                       # Application class (nếu cần Hilt)

🌐 Backend Server 🖧

Do website chính thức của trường Đại học Mở Hà Nội không cung cấp sẵn API để lấy dữ liệu trực tiếp nên Server SinhVienHOUAPI được ra mắt nhằm thu thập dữ liệu từ Cổng sinh viên rồi trả về cho ứng dụng MyHOU.

Mã nguồn của Server có thể tìm thấy tại đây: SinhVienHOUAPI

✨ Tính năng chính

  • 🔍 Tra cứu lịch học và lịch thi của sinh viên
  • 📅 Xem lịch học theo ngày, tuần, tháng
  • 📊 Thống kê điểm học tập và tín chỉ tích lũy của sinh viên
  • 💡 Xem điểm rèn luyện của sinh viên
  • 📝 Lưu trữ thông tin môn học
  • 📩 Gửi feedback đến đội ngũ phát triển nhằm cải tiến ứng dụng
  • 🌙 Hỗ trợ chế độ tối (Dark mode)
  • 📱 Giao diện thân thiện, dễ sử dụng

📋 Yêu cầu hệ thống

  • Android 7.0 (Nougat) trở lên
  • Kết nối Internet để cập nhật dữ liệu

📲 Cài đặt

  1. Tải xuống ứng dụng từ Releases của repository này.
  2. Cài đặt ứng dụng vào thiết bị.
  3. Đăng nhập bằng tài khoản sinh viên của bạn.

🛠️ Công nghệ sử dụng

Kotlin Android Jetpack Compose MVVM Room Retrofit Coil MpAndroidChart Hilt

  • Ngôn ngữ: Kotlin
  • Framework: Android SDK
  • Kiến trúc: MVVM (Model-View-ViewModel)
  • UI Components: Jetpack Compose
  • Database: Room
  • Network: Retrofit
  • Image: Coil
  • Chart: MpAndroidChart
  • Dependency Injection: Hilt Dagger

📱 Ảnh chụp màn hình

Giao diện chính

Home Thời khóa biểu Lịch thi
Home Thời khóa biểu Lịch học

Thống kê và danh sách

Thống kê điểm Danh sách điểm học phần Điểm rèn luyện
Lịch thi Thống kê điểm Danh sách điểm học phần

Khác

Đăng nhập Thông tin sinh viên Cài đặt
Đăng nhập Thông tin sinh viên Cài đặt

🚀 Hướng dẫn phát triển

Yêu cầu

  • Android Studio Arctic Fox trở lên
  • JDK 11 trở lên
  • Gradle 7.0.2 trở lên

Các bước cài đặt

  1. Clone repository này:
git clone https://github.com/kedokato-dev/HouCheck.git
  1. Mở project trong Android Studio

  2. Sync Gradle và chạy ứng dụng

🤝 Đóng góp

Đóng góp luôn được chào đón! Nếu bạn muốn đóng góp vào dự án, vui lòng:

  1. Fork repository
  2. Tạo nhánh mới (git checkout -b feature/amazing-feature)
  3. Commit thay đổi của bạn (git commit -m 'Add some amazing feature')
  4. Push lên nhánh (git push origin feature/amazing-feature)
  5. Mở Pull Request

📄 Giấy phép

Dự án này được cấp phép theo giấy phép MIT - xem file LICENSE để biết thêm chi tiết.

👨‍💻 Tác giả

📞 Liên hệ

Nếu có bất kỳ câu hỏi hoặc góp ý nào, vui lòng liên hệ qua:


Developed with ❤️ for students of Hanoi Open University

About

Ứng dụng tra cứu lịch học cho sinh viên trường Đại Học Mở Hà Nội trên thiết bị di động.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages