A Lite version of the cruX BPHC CMS App, made for round 3 of cruX inductions. Built using Jetpack Compose, Viewmodels and Firebase as a BaaS.
-
Google OAuth for students and Regular Email-Password Auth for the admin.
- Implemented One-Tap Sign In/Sign Up to obtain their OAuth 2.0 credentials and IdToken, and use it to login with Firebase Google OAuth.
- Used Firebase Email-Password Auth for the admin.
-
On logging in as admin:
- Admin can create courses with course name, instructor name and lecture timings.
- Admin can also edit and delete these courses.
- Admin can also send announcements(with attachments) in each course, and a notification will be sent to users who have enrolled in that particular course.
- Course data is stored on Firebase Firestore.
-
On logging in as user:
- User can enroll in courses from the "All Courses" Screen. These courses will then be displayed in "My Courses Screen"
- User can also unenroll from each course, or unenroll from all courses at once.
- User can create calendar events for classes in their course. (Implemented with Calendar Provider API)
-
Push notifications are implemented with Firebase Cloud Messaging.
-
Attachments for Announcements are stored using Firebase Cloud Storage
-
Toggle switch for dark mode
-
Clone the Project:
- Run
git clone https://github.com/JustAGhost23/CMSCloneLite
in terminal. - Android Studio -> File -> Open
- Connect your Android Device and Run the program (Developer Mode of the Device should be enabled).
- Run
-
Run the Release APK
- Click here to download the release APK.
Login | Profile | My Courses |
---|---|---|
All Courses | Edit Course | Announcements |
---|---|---|
Course View (as admin) | Course View (as user) | Course View (after enrolling) |
---|---|---|