About The App and Features

This Web App is a Platform for Ebook Management with interactive feature such as :

How to Install

Server Requirements & Configuration

This app is using on top Laravel Framework 8 with few server requirements as below
Please make sure you know how to configure a server with nginx
For server configuration please refer to Laravel documentation here
Please ensure the root of the application to public folder for nginx server configuration
// inside file /etc/nginx/sites-available/example.com.conf
root /var/www/example.com/public
don't forget create link to sites enable in terminal
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
also ensure the current php-fpm version of the server is same with the server configuration
// inside file /etc/nginx/sites-available/example.com.conf
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
and ensure add code as below in configuration file
// inside file /etc/nginx/sites-available/example.com.conf
location / {
try_files $uri $uri/ /index.php?$query_string;
}
> **Please make sure the app running in HTTPS protocol or it will won't work properly**

Authorization Storage

Since laravel framework need authorization to store the file in storage folder
please change the owner and authorization with command as below in root folder of application
chown -R $USER:www-data storage
chmod -R 775 storage
and run command below so the storage folder can be accessed to public asset folder
php artisan storage:link

Initation of the App

After make sure all the server requirement and application folder is stored in the server. run composer to download dependencies of the application as below inside root of folder application
composer install
please make sure the server already installed [Composer](https://getcomposer.org/download/)
After downloading dependencies complete modify .env file (or rename .env.example to .env and modify after it)
APP_NAME=yourwebname APP_ENV=production APP_KEY=base64:zAYYuQxxgyeZi6dULoWcOmLv9GeDaDcNZc2eqWR2EAM= APP_DEBUG=false APP_URL=https://subdomain.domain.com SANCTUM_STATEFUL_DOMAINS=*.domain.com SPA_URL=https://subdomain.domain.com SESSION_DOMAIN=.domain.com DB_DATABASE=yourdatabasename DB_USERNAME=yourdatabaseusername DB_PASSWORD=yourdatabasepassword SESSION_DRIVER=cookie Then, please run command below in root of folder
composer dump-autoload
nb : command above should run after .env file changed

Databases

After we change DB data in .env file. please create database in MySQL with database name same as with DB_DATABASE in .env file if the database created, we can run command as below to create requirements table for the application

php artisan migrate

FIrst Admin User

For first admin user so we can login in admin panel to manage Ebook. please run command below php artisan db:seed --class=UserSeeder so we can login in https://subdomain.domain.com/admin/auth/login with trial account below email : trial@mail.com psss : trial123 IMPORTANT : Please add new user in after login with trial account https://subdomain.domain.com/admin/auth/users and delete the trial account after it. ## How to Use

Admin Area

Before we can read an ebook in this app, the first thing to do is we have to upload ebook pages in Admin Area > Admin area link : https://subdomain.domain.com/admin/auth/login > File Type : Jpeg file only > File Size : < 1mb

Creating new Ebook For creating new ebook, please click above right button "Add Ebook" then input ebook name and slug name> slug name must be unique from another ebook, since it will display as a link in ebook reader mode

> ex : https://subdomain.domain.com/reader/this-is-your-ebook-slug

Add Chapters & Pages

If we enter the ebook by click "enter" button on the ebook we created. We can add Chapters & Pages by click "Add Chapter" on above right button. >Eventhough the button name is "Add Chapter" we can add the page as well >Chapter mean like a folder to categorized the section of the pages into subsection Chapter page can be rename it into alias such as : Cover, I, II, A, B ,etc > If we rename the chapter folder or page outside folder, we have to rename it manually for all chapter folder and pages outside folder to get proper ordering number of the pages and chapter.

Add Pages Inside Chapter

We can go deeper inside chapter and add pages in it by click the "magnify glass" button in folder icon after we create a chapter. > Pages can not be renamed inside chapter. Page name inside chapter only ordering of the pages. For adding a page, please click "Add Pages" button on above right button then we can drag and drop or bulk upload the jpeg file as a desired page. This operation applied for adding a pages in chapter mode as well.

Feature Inside a Pages

The pages we created with jpeg file have a feature as below - Title pages renamed - Mark the page to show in Content Navigation in reader mode - Create Hotspot area and assign a link in it so the page in reader mode has a function to open the link when we click on hotspot area in reader mode

Reader Mode

After we setup an ebook and add a pages, we can access the reader mode with link as below https://subdomain.domain.com/reader/your-slug-book-name

Application Logo

To change application logo, please replace file logo.png in folder below /public/images/logo.png ## Things to be noted Please free up regularly a storage in a folder where pdf conversion stored /storage/app/public/pdf also a folder where shared file after cropping page stored /storage/app/public/shared