About
π¬ Welcome to the Admin Panel
Powering Entertainment with Coins!
A smart admin panel to manage reels, movies, and episodes with a coin-based access system. Users can unlock content or earn free coins by watching ads. This admin panel is the command center for managing a dynamic content platform featuring reels, movies, and episodes. At the heart of this ecosystem is an engaging coin-based access model that adds value for users while giving you full control over content and user interactions.
π° How the Coin System Works :
Users are assigned a specific number of coins in their account. These coins act as virtual currency that can be used to unlock and watch premium contentβwhether it's a trending reel, a blockbuster movie, or an exclusive episode.
πΊ Unlock with Ads :
To make the experience more accessible, users can also earn coins by watching ads, promoting user engagement while creating monetization opportunities.
π§ Admin Features :
- Manage all uploaded content : reels, movies, and episodes.
- Monitor and adjust user coin balances.
- Track ad engagement and rewarded coins.
- View detailed analytics on content performance and user behavior.
Features
ποΈ Manage Content
Upload, organize, and update reels, movies, and episodes directly from your dashboard.
π° Coin System
Control how users spend or earn coins to unlock premium content.
πΊ Ad-Based Rewards
Users can watch ads and receive free coins, encouraging more engagement.
π User Analytics
Monitor watch time, series views, and coin activity for better content decisions.
π οΈ Access Control
Set coin requirements per video and manage who can view what.
π Role Permissions
Manage the entire panel through a single admin account with full control, as no additional roles or access levels are available in the system.
Why Choose Drama Short
- Coin-based model encourages engagement and content value.
- Easy content control for reels, movies, and episodes.
- Monetization through ad views and premium unlocks.
- Simple dashboard for analytics and user coin tracking.
- Built for creators, admins, and viewers alike.
- Smooth onboarding and content setup for new users.
- Real-time performance insights to boost content strategy.
- Secure and scalable platform with regular feature updates.
- Built-in tools to manage subscriptions and unlock tiers.
- Designed for mobile-first experience and fast performance.
Hardware Requirements
- Memory: Minimum 2GB RAM (4GB recommended for production)
- Processor: Dual-core CPU or higher
- Storage: SSD with at least 50GB free space
- Network: Stable internet connection for updates & syncing
- GPU (Optional): For media-heavy tasks like encoding
Operating System Compatibility
Supported OS
- β Ubuntu 24.04 LTS or higher
- β macOS Monterey / Ventura
- β Windows 10 / 11
Recommended Setup
Using Ubuntu with CloudPanel for efficient server management, offering a stable, secure, and user-friendly environment ideal for hosting backend applications and automating DevOps tasks.
Hosting Environment
- Local Testing : XAMPP, WAMP, or Node.js local server
- Cloud Hosting : DigitalOcean, Heroku, or Hostinger With VPS
- Backend : Node.js-compatible server with 1GB+ RAM
- Database : MYSQL
- DNS : Custom domain or Hostinger free domain
Important Notes
- β οΈ Always configure your
.env
properly before running builds. - π§ Use version control (Git) to track changes across your development lifecycle.
- π Never expose API keys publicly β store securely in environment files.
- π¦ Use
npm audit
regularly to fix security vulnerabilities. - π Follow folder structure strictly to avoid path errors in deployment.
- π¦ Create frontend, backend and admin repository in github. Upload code in github directory wise
Local Backend Installation
- Navigate to
/backend
directory using command prompt. - Install Node.js (If already installed then no need to install)
- Run
npm install
to install dependencies. - Create database From Localhost Panel. URL look like
http://localhost/phpmyadmin
- Select created database and check import option in top panel and click on that
- Click on Choose File and select
database.sql
File - Set database credentials, base URLs and secrets in
.env
. - Use
npm start
to start local server - Ensure MySQL running in local environment.
Local Website Installation
- Navigate to
/frontend
directory using command prompt. - Install Node.js (If already installed then no need to install)
- Run
npm install
to install dependencies. - Edit
.env
to set API base URL. - Use
npm start
to start local dev server. - Open
http://localhost:3000
in browser.
Local Admin Installation
- Navigate to
/admin
directory using command prompt. - Install Node.js (If already installed then no need to install)
- Run
npm install
to install dependencies. - Edit
.env
to set API base URL. - Use
npm start
to start local dev server. - Open
http://localhost:3001
in browser.
VPS Installation
1. Prerequisites
- Access to a VPS with root or sudo privileges (e.g., Ubuntu 24.04).
- Domain name pointed to your server (optional for testing).
- Basic understanding of Linux commands.
2. CloudPanel Installation Steps
-
Step 1: Update your system
sudo apt update && sudo apt upgrade -y
-
Step 2: Install required packages
sudo apt install curl sudo -y
-
Step 3: Run CloudPanel installer (For Ubuntu 22.04 / 24.04)
curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh | sudo bash
-
Step 4: Access CloudPanel (Once installation is complete, open your browser and go to)
https://your-server-ip:8443
Follow the web-based setup wizard to create your admin account.
Project Installation on VPS
1. Backend Installation
- Login in cloudpanel with credentials
- Create Site for Backend Server
- Manage Backend Panel
- Create, Manage and Import Database
- Connect SSH using below command:
ssh backend_username@server_ip
Then enter site user password. - Navigate to the backend directory:
cd htdocs/api-dramashort.ukosoft.store/
- Create token in github login and follow below url:
https://github.com/settings/tokens/
- Note: Enter a name (e.g., My Deployment Token)
- Expiration: Choose expiry (e.g., 30 days or No expiration)
- Scopes: Select the following as needed:
- β repo (Full control of private repositories)
- Click Generate token
- Save token in safe space
- Import code from github:
git clone git@github.com:whatever ./
-
git init
-
git remote add origin https://github.com/your_username/repository.git
-
cat ~/.git-credentials
-
nano ~/.git-credentials
- Paste below line with update with your username and token
-
https://your_username:your_token@github.com
- Save with ctrl + x then enter Y and then press enter
-
git config --global credential.helper store
-
git config --global credential.helper
-
git fetch
-
git checkout -t origin/live
-
-
- Install dependencies:
npm install
- Install ffmpeg:
sudo apt install ffmpeg
- Install PM2:
npm install -g pm2
-
Rename and configure the
.env
file (DB, JWT, PORT, etc.). - Start the server with PM2:
pm2 start src/app.js
- Check logs to confirm the server is running:
pm2 logs 0
- Check url to confirm the server is running:
- Install SSL Certificate:
- Add Daily CRON
2. Admin Installation
- Login in cloudpanel with credentials
- Create Site for Front End Server
- Manage Admin Panel Server
- Install SSL Certificate:
- Create token in github login and follow below url:
https://github.com/settings/tokens/
- Note: Enter a name (e.g., My Deployment Token)
- Expiration: Choose expiry (e.g., 30 days or No expiration)
- Scopes: Select the following as needed:
- β repo (Full control of private repositories)
- Click Generate token
- Save token in safe space
- Connect SSH using below command:
ssh admin_username@server_ip
Then enter site user password. - Navigate to the frontend directory:
cd htdocs/admin-dramashort.ukosoft.store/
- Create token in github login and follow below url:
https://github.com/settings/tokens/
- Note: Enter a name (e.g., My Deployment Token)
- Expiration: Choose expiry (e.g., 30 days or No expiration)
- Scopes: Select the following as needed:
- β repo (Full control of private repositories)
- Click Generate token
- Save token in safe space
- Import code from github:
git clone git@github.com:whatever ./
-
git init
-
git remote add origin https://github.com/your_username/repository.git
-
cat ~/.git-credentials
-
nano ~/.git-credentials
- Paste below line with update with your username and token
-
https://your_username:your_token@github.com
- Save with ctrl + x then enter Y and then press enter
-
git config --global credential.helper store
-
git config --global credential.helper
-
git fetch
-
git checkout -t origin/main
-
-
-
Rename and update the
.env
file with the production API URL. - Install dependencies:
npm install --force
- Build the production app:
npm run build
-
server { listen 80; listen [::]:80; server_name admin-dramashort.ukosoft.store; # Redirect HTTP to HTTPS if ($scheme != "https") { return 301 https://$host$request_uri; } location / { root /home/ukosoft-admin-dramashort/htdocs/admin-dramashort.ukosoft.store/build; index index.html; try_files $uri /index.html; } } server { listen 443 ssl; listen [::]:443 ssl; server_name admin-dramashort.ukosoft.store; # SSL Certificates {{ssl_certificate_key}} {{ssl_certificate}} # Enable HTTP/2 http2 on; # Static files root /home/ukosoft-admin-dramashort/htdocs/admin-dramashort.ukosoft.store/build; index index.html; try_files $uri /index.html; # Error log {{nginx_access_log}} {{nginx_error_log}} # SSL configuration ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers off; # OCSP Stapling ssl_stapling on; ssl_stapling_verify on; # Static file handling for cacheable assets location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|webp|zip|swf)$ { add_header Access-Control-Allow-Origin "*"; expires max; access_log off; } # Well-known location location ~ /.well-known { auth_basic off; allow all; } # Error page for server errors error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
3. Frontend Installation
- Login in cloudpanel with credentials
- Create Site for Front End Server
- Manage Admin Panel Server
- Install SSL Certificate:
- Create token in github login and follow below url:
https://github.com/settings/tokens/
- Note: Enter a name (e.g., My Deployment Token)
- Expiration: Choose expiry (e.g., 30 days or No expiration)
- Scopes: Select the following as needed:
- β repo (Full control of private repositories)
- Click Generate token
- Save token in safe space
- Connect SSH using below command:
ssh website_username@server_ip
Then enter site user password. - Navigate to the frontend directory:
cd htdocs/dramashort.ukosoft.store/
- Import code from github:
git clone git@github.com:whatever ./
-
git init
-
git remote add origin https://github.com/your_username/repository.git
-
cat ~/.git-credentials
-
nano ~/.git-credentials
- Paste below line with update with your username and token
-
https://your_username:your_token@github.com
- Save with ctrl + x then enter Y and then press enter
-
git config --global credential.helper store
-
git config --global credential.helper
-
git fetch
-
git checkout -t origin/main
-
-
Rename and update the
.env
file with the production API URL. - Install dependencies:
npm install --force
- Build the production app:
npm run build
-
server { listen 80; listen [::]:80; server_name dramashort.ukosoft.store; # Redirect HTTP to HTTPS if ($scheme != "https") { return 301 https://$host$request_uri; } location / { root /home/ukosoft-dramashort/htdocs/dramashort.ukosoft.store/build; index index.html; try_files $uri /index.html; } } server { listen 443 ssl; listen [::]:443 ssl; server_name dramashort.ukosoft.store; # SSL Certificates {{ssl_certificate_key}} {{ssl_certificate}} # Enable HTTP/2 http2 on; # Static files root /home/ukosoft-dramashort/htdocs/dramashort.ukosoft.store/build; index index.html; try_files $uri /index.html; # Error log {{nginx_access_log}} {{nginx_error_log}} # SSL configuration ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers off; # OCSP Stapling ssl_stapling on; ssl_stapling_verify on; # Static file handling for cacheable assets location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|webp|zip|swf)$ { add_header Access-Control-Allow-Origin "*"; expires max; access_log off; } # Well-known location location ~ /.well-known { auth_basic off; allow all; } # Error page for server errors error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Verify Your Purchase
- Get your purchase code to click here
- Admin Panel Activation
- Website Activation
About
π¬ Welcome to the Application
Powering Entertainment with Coins!
Thank you for choosing the DramaShorts app. We are pleased to have you with us. Enclosed is the documentation to help you set up and launch the app easily. Please read it carefully, as it contains important information. If you need any assistance or have questions, our support team is just a message away.
Prerequisites
- If you use the specified versions, our code will work properly because the libraries and SDKs we used have not been updated yet. Whenever those libraries are updated, we will also update the code accordingly. As long as you use the same versions, the code will function exactly as shown in the demo app without any issues, so thereβs no need to worry.
- We have used the following versions in this project , so you also need to use the same while setting it up:
- Java 21.0.6
- Android Studio Market Feature Drop
- Kotlin plugin: K2 mode[Text Wrapping Break]
- To modify this project, it's essential to ensure that Android Studio are installed and properly configured on your computer.
- If you have already installed and configured the Android SDK, you have to check for same version of android studio, If your android studio version is old you have to just update latest version.
- If you have not installed Android Studio, Plase follow the instructions which is mention below.
Hardware Requirements
- Memory: Minimum 2GB RAM (4GB recommended for production)
- Processor: Dual-core CPU or higher
- Storage: SSD with at least 50GB free space
- Network: Stable internet connection for updates & syncing
- GPU (Optional): For media-heavy tasks like encoding
Android Studio Windows Setup
- Follow these step-by-step instructions to download and install Android Studio on your Windows system:
- Visit the official website: Android Studio
- Click on the "Download Android Studio" button.
- Accept the terms and conditions, then click Download.
- Save the .exe installer to your system.
- Run the Installer:
- Double-click the downloaded .exe file to begin the installation.
- Click Next on the Android Studio Setup Wizard.
- Select components to install (by default: Android Studio, Android SDK, Virtual Device, and Performance tools).
- Click Next, then choose the installation path (you can keep the default).
- Click Install and wait for the installation to complete.
- First-Time Configuration:
- Click Finish to launch Android Studio.
- The "Complete Installation" dialog will appear.
- Choose Do not import settings if it's your first time installing Android Studio.
- Android Studio will download and install additional components like the SDK.
- Android Studio Setup Wizard:
- The Setup Wizard will guide you through the final configuration.
- Choose your UI theme (Light or Dark).
- Select the installation type: Standard (recommended) or Custom.
- SDK components and emulator images will be downloaded (Internet required).
- Click Finish once the setup is complete.
Firebase Setup
- Please navigate to your Firebase project, which you may have created while following the backend documentation. If you haven't created one yet, please follow the steps below to set up a project:
- Begin by visiting the Firebase website through the following link: https://firebase.google.com/
- If you do not already have a Firebase account, kindly sign up for one. Otherwise, proceed to sign in with your existing account credentials.
- Upon successful login, you will be directed to the Firebase Console. Click on the "Get Started in console" button to initiate the creation of a new project.
- Enter a suitable name for your project and configure your preferred options for Firebase Analytics and Google Analytics. Subsequently, click on the "Continue" button.
- First, select the country Firebase account, then proceed to create the project.
Link Android App To Firebase
- In the next step, we have to choose the platform to add Firebase to our application. Click on Android.
- The platform can be Android, iOS, Web etc...
- Your package name is generally the applicationId in your build.gradle (app-level) file
- Refer to the Page for guidance on utilizing keytool to obtain the SHA-1 hash of your signing certificate.
- Add your applicationid in the first field and SHA-1 to the third field as shown in the image below.
- Download the google-services.json file & place it in your project's app root directory.
- Back in the Firebase console-setup workflow, click Next to skip the remaining steps and then finish and complete
Google Sign In Configuration
- Navigate to the "All Products" section and select the "Authentication" tab.
- After that Navigate to the "Get Started" button.
- Navigate to the "Sign-in method". and click to google
- Click to Enable
- Select your support email and save
- Google sign in method successfully Enabled
Extract The Project
- To import the app, open Android Studio and import or open the template. Ensure that you wait for all processes, including the Gradle Build, to complete before proceeding to the next step.
How to Open The Project in Android Studio?
- Open Android Studio > Open an Existing Android Studio Project > Select Your Project build. gradle file > ok
- Select Project
Change Package Name
- Navigate to the "android/app" directory and locate the "build.gradle.kts" file.
- Within this file, update the "applicationId" and its corresponding dependencies as necessary
Change App Color
- Go to your project app > src > main > res > values > color.xml as shown in the below image.
Change App Icon
- Go to your project File > New > Image Asset as shown in the below image.
- Select Icon Path
- After select logo click on Next
- Confirm your icon then click on Finish
Change App Name
- Go to your project app > src > main > res > values > strings.xml as shown in the below image.
Where to put Server Url in Application?
- Select Root > local.properties
-
APPLOVIN_KEY=YOUR_KEY BASE_URL=YOUR_HOST_DOMAIN/ SHA_256=sha256/YOUR_SHA256_GENERATED_KEY #Don't Change HOST_EMAIL=admin@123.com HOST_DISPLAY_NAME=Testing HOST_LOGIN_TYPE_ID=1 HOST_PROFILE_URL=1 HOST_LOGIN_TYPE_GUEST=guest HOST_LOGIN_TYPE_GOOGLE=google #HOST_LOGIN_TYPE_FB=facebook
- Select Root > local.properties and past your code here
- After paste code enter your APPLOVIN_KEY, BASE_URL and SHA_256 key
-
openssl s_client -connect YOUR_HOST_DOMAIN:443 -servername YOUR_HOST_DOMAIN /dev/null | openssl x509 -noout -pubkey | openssl pkey -pubin -outform DER | openssl dgst -sha256 -binary | base64
- Update Other url like about us, privacy policy and terms and conditions
- Select App > src > main > java > com > app > reelshort > UI > Fragment > ProfileFragment
Release APK
- Select from navbar Build > Generate Signed App Bundle or APK
- Select Android App Bundle
- Select or Create new JKS file
- Select release and create AAB file for play store