Documentation

Zuromi - Perzonalized Celebrity Video Platform

Created: 05, July 2024 by Miguel Vasquez

Celebrities offer video messages for their fans, whether for birthdays or any special occasion, and their fans also send private messages, to connect with your favorite celebrities.

Requirements:

  • PHP 8.2 or Greater
  • MySQL 5.7
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension
  • cURL
  • GD Library
  • allow_url_fopen (PHP.INI) is ON
  • Fileinfo PHP Extension

Basic PHP configuration

  • max_execution_time minimum 6000
  • memory_limit set to 512M
  • post_max_size set the maximum upload value you want
  • upload_max_filesize must be the same maximum value of post_max_size

  • Setting MySQL

    • 1.) Create a database
    • 2.) Create a user for database
    • 3.) Import the Database
    • Log into your phpMyAdmin and import the zuromi.sql file located in the folder MySQL

    Uploading Files

    • Upload all files inside the folder "Script" to the "public_html" or "www" folder on your server. You can compress the files or use FTP.

    Installation

    • After you have uploaded all files, go to https://yousite.com/install
    • This screen will appear, all the boxes must be green to proceed with the installation.
    • Next, configure your database, enter the name of your database, username, host and password.
    • Next, create the Admin account, enter your name, email and password.
    • If everything goes well, a success notice will appear, the installation is now complete.
    • Create Cron Job
    • Click on Cron Jobs
    • Click on Common Settings and select Once Per Minute
    • /usr/local/bin/ea-php82 /home/username/public_html/artisan schedule:run >> /dev/null 2>&1
    • In the image above change ea-php82 for your PHP version, username for yours, and put the path where your project is located, in my case it is in public_html, but if it is in another directory you should put public_html/zuromi/ like this
    • Click on Add New Cron Job and you're done!
    • Plesk - Scheduling Tasks

      Coconut® Settings

      Websockets

      • Go to Pusher dashboard and go to the Channels category.
      • Click on Create app. Select a name and cluster region at your preference.
      • Next up, you should be redirected to your new app page. If not, head over Apps and select your app.
      • Enter the API key and cluster region in Panel Admin > General Settings > Websockets
    • Mail Set Up
    • Go to https://yousite.com/panel/admin/settings/email
    • Storage
    • Go to https://yousite.com/panel/admin/storage
    • Push Notifications (OneSignal)

      • Get yourself account Onesignal
      • Step 1:
      • Step 2:
      • Step 3:
      • Step 4:
      • Go to Panel Admin > Push Notifications enable and set the OneSignal App ID and OneSignal Rest API Key
    • reCAPTCHA
    • Go to https://yousite.com/panel/admin/google
    • Get your API keys here https://www.google.com/recaptcha/admin/create
    • Stripe Webhook
    • Go to the Developers section of the Stripe dashboard and click on Webhooks. Click on Add endpoint
    • 1) Your webhook url is https://yourwebsite.com/webhook/stripe
    • 2) The events you should add to your webhook:
      • charge.refunded
      • checkout.session.completed
      • customer.deleted
      • customer.updated
      • customer.subscription.created
      • customer.subscription.deleted
      • customer.subscription.updated
      • invoice.payment_action_required
      • invoice.payment_succeeded
    • 3) Click on Signing secret to reveal the Stripe Webhook Secret that you must place in Dashboard > Payment Settings > Stripe
    • API Version 2020-08-27
    • Stripe Connect
    • Set the countries or the country you want to send direct payments to your members at https://dashboard.stripe.com/settings/connect/express
    • PayPal
    • Login into your PayPal account.
    • Go to the My apps & credentials section, click on Live button and then on the Create app button.
    • Copy the Client ID and Secret in Panel Admin > Payments Settings > PayPal.
    • Go to the My apps & credentials section, click on Live button and then select your app.
    • Scroll down to LIVE WEBHOOKS and click on the Add webhook button.
    • On the Webhook URL field paste your webhook URL https://yourwebsite.com/webhook/paypal
    • Under the Events types select All events and save your changes.
    • Go to the My apps & credentials section, click on Live button and then select your app.
    • Copy the Webhook ID in Panel Admin > Payments Settings > PayPal
    • Paystack
    • Get yourself a free Paystack account
    • Get your API key from here https://dashboard.paystack.com/#/settings/developer
    • Copy the API keys to Panel Admin > Payment Settings > Paystack
    • Don't put anything in Callback URL
    • In Webhook URL put https://yourwebsite.com/webhook/paystack
    • Coinpayments
    • Get yourself a free Coinpayments account
    • Get your Merchant ID from here https://www.coinpayments.net/acct-settings
    • Get your IPN Secret Key from Account Settings -> Merchant Settings -> IPN
    • Copy the API keys to Panel Admin > Payment Settings > Coinpayments
    • Mercadopago
    • Get yourself a free Mercado Pago account,
    • Get your Access Token from here https://www.mercadopago.com/mlb/account/credentials
    • Copy the Access Token to Panel Admin > Payment Settings > Mercadopago
    • Mollie
    • Get yourself a free Mollie account.

    • Get your API key from here https://www.mollie.com/dashboard/developers/api-keys.
    • To activate the test mode is your dashboard mollie
    • Enable payment methods: click on settings and then Payment methods
    • Then enable what you want, some payment methods work only with certain currencies, USD only accepts Credit Card and PayPal, EUR is accepted by all payment methods. Here you can see more details https://docs.mollie.com/payments/multicurrency
    • Copy the API keys to Panel Admin > Payment Settings > Mollie
    • Razorpay
    • Get yourself a free Razorpay account
    • Get the API Keys from here https://dashboard.razorpay.com/#/app/keys
    • Copy the API keys to Panel Admin > Payment Settings > Razorpay

    Social Login

    • Go to https://yousite.com/panel/admin/social-login

    Customize

    • Path the files
    • Home page: resources > views > index > index.blade.php
    • Explore page: resources > views > index > explore.blade.php
    • Login: resources > views > auth > login.blade.php
    • Register: resources > views > auth > register.blade.php
    • Join as talent: resources > views > default > join-talent.blade.php
    • Enroll: resources > views > verification > enroll.blade.php
    • Profile user: resources > views > users > profile.blade.php
    • Account: resources > views > users > account.blade.php
    • Wallet: resources > views > users > wallet.blade.php
    • Navigation bar: resources > views > includes > navbar.blade.php
    • Navigation bar (Mobile): resources > views > includes > menu-mobile.blade.php
    • Footer: resources > views > includes > footer.blade.php

    • CSS styles: public > css > styles.css
    • Javascript main: public > js > app.js
    • Language files
    • To change the script language go to: lang / en / Edit the text strings of all the files in are in that folder.
    • /*
      |--------------------------------------------------------------------------
      | Admin Language Lines
      |--------------------------------------------------------------------------
      |
      */
      
      'admin'                     =>      'Panel Admin',
      'role_admin'                =>      'Admin',
      'dashboard'                 =>      'Dashboard',

    How to add a new language

  • Duplicate the folder lang / en
  • Rename to your language for example es
  • Translate the strings
  • Go panel admin https://yourwebsite.com/panel/admin/languages/create and add you new lenguage

  • Translate Slogan, Description and Keywords (SEO)

  • Go to lang / en / seo.php
  • <?php
    
    return [
    /*
    |--------------------------------------------------------------------------
    | SEO Language Lines
    |--------------------------------------------------------------------------
    |
    */
    "slogan" => "Custom video of your favorite Stars",
    "description" => "Personalized videos from your favorite celebrities",
    "keywords" => "Custom video,video,Stars,actor,actress,content",
    ];

    Translate Categories

  • Create a file called categories.php in the folder of the language to be translated, for example lang / es
  • <?php
    
    return [
    
    	/*
    	|--------------------------------------------------------------------------
    	| Categories Language Lines
    	|--------------------------------------------------------------------------
    	|
    	*/
    	"Animals" => "Animales",
    	"Business" => "Negocios",
    	"Charity" => "Caridad",
    ];
  • The key identifier will be the Slug / URL of the category
  • Translate Video occasions

  • Create a file called occasions.php in the folder of the language to be translated, for example lang / es
  • <?php
    
    return [
    
    /*
    |--------------------------------------------------------------------------
    | Video occasions Language Lines
    |--------------------------------------------------------------------------
    |
    */
    "birthday" => "🎂 Cumpleaños",
    "special_occassion" => "🥂 Ocasión Especial",
    "joke" => "😆 Chiste",
    ];
  • The key identifier will be the Unique ID of the video occasion
  • Translate Pages

  • Just create a page by selecting the new language, remember that you must put the same Slug / URL

  • Sitemap

  • https://yoursite.com/sitemaps.xml

  • FAQ

  • How to edit text on the homepage
  • Go to lang / en / frontend.php
  • How to change logo and favicon
  • Go to Dashboard > Theme
  • How to change upload limits
  • Go to Dashboard > General Settings > Limits
  • How to activate the captcha
  • Go to Dashboard > Google and put the credentials and later go to Dashboard > General Settings
  • Configure Currency Code, Currency Symbol, Fee commission among others
  • Go to Dashboard > Payment Settings > General
  • How to perform a scratch installation
  • Delete the file storage > installed and enter the url https://yousite.com/install
  • How to install on a new server
  • Zip all the files and upload to your new server, copy the new credentials to the .env file, you must create the database and import the one from your old server.
  • DB_HOST=127.0.0.1
    DB_DATABASE=DB
    DB_USERNAME=USER
    DB_PASSWORD="PASS"

    Troubleshooting

  • I can't turn off maintenance mode
  • Go to storage / framework and delete the file named down and file maintenance.php go back to Panel Admin > Maintenance mode put "off" and then "on" again, whenever you want to have your site in mode maintenance.
  • Error creating an account
  • Make sure you have correctly configured the email in the admin panel (Panel Admin > Email settings)
  • Error 404 in the installer
  • Check that your .htaccess file has not been corrupted when uploading to your server.
  • Error 500 in the installer or on the home page
  • Check that your .env file has not been corrupted when uploading to your server. It must have a dot before the name, and you must have at least PHP 8.2
  • Twitter Login Error
  • The app must be created using version 1.0

  • Make sure these folders and files have 0755 permissions

    Files
  • .env
  • Folders
  • bootstrap / cache /
  • public / images /
  • public / temp /
  • public / uploads /
  • storage

  • How to update

  • Go to the Upgrades folder, select the version you want, click on the README.html file and follow the steps.

  • Sources and Credits

    • Laravel - https://laravel.com/
    • jQuery - https://jquery.com/
    • Bootstrap - https://getbootstrap.com/
    • Font Awesome - https://fontawesome.com
    • IcoMoon - http://icomoon.io
    • jquery Form // malsup.com/jquery/form/
    • jqueryTimeago.js // http://timeago.yarp.com/
    • Readmore - http://jedfoster.com/Readmore.js/
    • Fonts - https://www.google.com/fonts
    • Tinymce - http://www.tinymce.com/
    • Ckeditor - https://ckeditor.com/
    • Morris - http://morrisjs.github.io/morris.js/