Skip to content

VoltStudy: Java-based Android app with Firebase DB/Auth. Dynamic UI animations enrich user experience. Offers video/PDF courses, quizzes, scores, in-app purchases. Includes discussion forum, trainer upload panel for collaborative learning.

License

Notifications You must be signed in to change notification settings

vatsalcshah/Voltstudy

Repository files navigation

⚡ VoltStudy 📚

License: MIT


🏠 Home Activity:


VoltStudy leverages a Java-based Android architecture with Firebase real-time database, authentication, and cloud storage for dynamic content delivery and user management. The app integrates Apache POI for document handling, ExoPlayer for multimedia playback, Glide for image optimization, and OkHttp for network communication. In-app billing is implemented for monetization, while Node.js Cloud Functions handle backend tasks like revenue calculation. Additional libraries enhance the user experience with features such as video compression, email support, toast notifications, image cropping, and PDF viewing. The app's scalable design facilitates future growth and feature enhancements.

🚀 Features

  • Dynamic Course Content :

    • Textual PDF Courses:

    • Video Courses:



  • Quizzes & Certification: Implemented gamification with section-wise quizzes.

CourseQuiz
Attempt quiz after each chapter
CompleteTime
Complete before you run out of time
Marks check
Score above 50% to unlock next chapter
Quetions
Answer multiple choice questions in time
Answers
Know your right and wrong answers to learn
Certificate
Get your custom certificate after completing all quizzes


  • In-App Purchases: Users can purchase courses using Google's in-app billing:



  • UI Components :

    • Splash screen :

    Splash Screen

    • Interactive animations :

    Admin Panel

    • Save liked courses :

    Course Details

    • Fluid Navigation :

    My Courses


  • User Authentication & Management :
Sign In
Sign In
Registration
Registration with Email OTP Verification

Manage Profile
View or update details
Reset Password
Reset Password


  • Trainers Registration :
Trainers Registration
Checks if user is a trainer
Trainer Email
Trainer E-mail before registration

Trainer Main
Trainer basic details form
Trainer Academics
Trainer academic background form


  • Trainer Admin Panel :
Trainer Account
Trainer Dashboard
Course Upload
Set course details and thumbnail

Video Preview
Video preview before upload
Video Compression
Automatic compressed upload

Quiz 2
Create Quizzes
Quiz 3
Set name and time limit

Text Upload
PDF course upload
Checks
Checks to help users


  • Course search filters :

Saved



  • Community Interaction :

    • Doubt Discussion :

    Ask Section

    • Like correct answers :

    Discussion

Question
Ask questions with or without images
Sidebar
Share with friends

Feedback & FAQs

Feedback
Share feedback with us
FAQs
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.


🛠️ Setup & Deployment

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's app 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 in CourseDetailActivity.java to android.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.

🔗 Database ER diagram

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
Loading

About

VoltStudy: Java-based Android app with Firebase DB/Auth. Dynamic UI animations enrich user experience. Offers video/PDF courses, quizzes, scores, in-app purchases. Includes discussion forum, trainer upload panel for collaborative learning.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published