🏠 Home Activity:
- Quizzes & Certification: Implemented gamification with section-wise quizzes.
- In-App Purchases: Users can purchase courses using Google's in-app billing:
- User Authentication & Management :
Sign In |
Registration with Email OTP Verification |
View or update details |
Reset Password |
- Trainers Registration :
Checks if user is a trainer |
Trainer E-mail before registration |
Trainer basic details form |
Trainer academic background form |
- Trainer Admin Panel :
Trainer Dashboard |
Set course details and thumbnail |
Video preview before upload |
Automatic compressed upload |
Create Quizzes |
Set name and time limit |
PDF course upload |
Checks to help users |
- Course search filters :
Ask questions with or without images |
Share with friends |
Feedback & FAQs
Share feedback with us |
Frequently asked questions |
Additional Features
-
Images, PDFs & Video compression: Automatic compression of files during upload to ensure efficient data usage and storage.
-
Trainer account moderation: Email is sent to super admin with TrainerID, their academic background and personal details for verification.
-
Course content moderation: Email is sent to super admin with AuthorID, CourseID and other content for verification.
1. Clone the repository:
Begin by cloning the project repository to your local machine using the following command:
git clone https://github.com/vatsalcshah/VoltStudy
Modify the
build.gradle
file (if needed):
After cloning, you might need to modify the
build.gradle
file to match older Gradle versions if you're having trouble with the app building. Check the official Android documentation or online resources for guidance on compatibility issues.
2. Set up Firebase:
-
Create a Firebase project on the Firebase console (https://console.firebase.google.com/).
-
In your Firebase project settings, add an Android app and provide your app's package name.
-
Download the
google-services.json
file generated by Firebase and replace it in your Android project'sapp
module directory.
3. Prepare the Firebase Realtime Database:
-
Go to your Firebase Realtime Database and import the dummy_firebase_realtime_database.json file. This will populate your database with the initial data structure.
-
Set the security rules for your Realtime Database by uploading the rules.txt file. This ensures data integrity and security.
Modify rules.txt & json based on your requirements & data
You can refer my file cloud_functions to deploy node.js functions of your Firestore Cloud Functions.
4. Configure In-App Billing:
-
In the Google Play Console, set up in-app billing products for your app (if it offers premium features or content).
-
Obtain your app's license key from the Google Play Console and add it to your Android project's configuration files.
-
For testing purposes only, you can set the
productID
variable inCourseDetailActivity.java
toandroid.test.purchased
. This allows you to simulate purchases without actually charging the user's account. Remember to revert this change before releasing your app to production.
Pro Tip: Once you have completed the setup, use your code editor's global find and replace feature to quickly change any API links or endpoints to match your specific backend setup. This will streamline the customization process.
erDiagram
USER ||--o{ COMMENT : writes
USER ||--o{ RESULTS : achieves
USER ||--o{ COURSE : purchases
USER ||--o{ COURSE : likes
POST ||--o{ USER : authored_by
COMMENT ||--o{ POST : belongs_to
RESULTS ||--o{ COURSE : belongs_to