LearnWithFun is a Learning Management System Mobile Application built using Native-Android(Kotlin & XML) and the backend is built using ExpressJS and MongoDB.
Backend Repo - learn-with-fun-backend
- Login using Phone
- Course Enrollment
- Search for Course and Tutor
- Quick Look on the Course Contents
- Buying the Particular Course (Payment using Paypal/Card)
- VideoPlayback of the Course Video
- Quiz
- Cheat Monitoring(with Photo click of particular moment)
- Track of Course Coverage and Quiz
CleanArchitecture Pattern is used to build this App
- Dagger-Hilt - For Dependency Injection
- Braintree - For Payment Integration
- Retrofit2 - For API Calls
- RoomDB - For offline data caching
- FirebaseMLKit - For Cheat Detection
- Firebase Storage - Data Storage
- CameraX - For Cheat Detection and showing video of User while appearing for quiz
- Glide - For Image Processing
- Exoplayer - For playing remote videos smoothly
- Kotlin Serialization - For JSON-Parsing and Object Parsing
- Other Libraries are Kotlin Coroutines, Navigation Component, ViewModels, CameraX, LottieAnimations, etc.
![LMS ER Diagram](https://private-user-images.githubusercontent.com/73953395/348561703-467ec9a6-6abf-42c5-af88-fabd7d5e1251.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NjU2MzEsIm5iZiI6MTczODk2NTMzMSwicGF0aCI6Ii83Mzk1MzM5NS8zNDg1NjE3MDMtNDY3ZWM5YTYtNmFiZi00MmM1LWFmODgtZmFiZDdkNWUxMjUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDIxNTUzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc0MDQ4ZjA0MjVmZTkwYzA0YjQ1ZDdkOGExYzFiZWIwYjI4YWI3NTAyZWVkODk2MGUyYjMzMWRlMzA4ODI0N2EmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.fxH4H4lwoYdSzeQUN5ARmk5tX3iG3TICXdpYByAmdMY)