Metro Documentation Codester

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 35

Getting Started

Introduction
The technologies used:
Key Features:
Installation
SSL & .htaccess
File Upload Settings
Quick Start
Email Settings
General Settings
Payment Settings
Cron Job
Task Scheduler
Onesignal Settings
Getting Started

Thank you for purchasing our script. If you have any questions that are beyond the
scope of this help file, please feel free to email to [email protected] by
adding your purchase code to your email. Thanks so much!

Introduction

Metro School is a multi-purpose School Manager script. It has clean, responsive and
user-friendly design. You can manage almost everything in your site with its powerful
Admin panel. It is multi-author system and all authors have their own panel to manage
their needs. It is secured, SEO optimized, fast and easy to use.

The technologies used:

 PHP CodeIgniter Web Framework


 HTML 5
 CSS 4 (Bootstrap)
 JQUERY
 AJAX

Key Features:

 Clean and Responsive Design


 Built Using Bootstrap
 Totally Secure System
 Multi-author system (Admin, Teacher, Students, Guardians)
 Real-time Chatting
 Ajax Chatting (Support to any hosting)
 School Forum
 Moderator School Forum System
 Best Answer School Forum System
 Give point to useful answer
 Comments system
 Online Course
 All users can be instructors
 Add unlimited section
 Add unlimited lessons
 Multiple lesson types
 YouTube, Vimeo, and HTML5 video lesson.
 PDF, Word, Excel, Power Point file type
 Image Lesson with zooming
 Free and Paid Course
 3 Popular payment gateways
 Online Exam
 Question Group
 Question Bank
 Exam Marks Report
 Reset Exam
 Random Question System
 School Examination
 Marks Grade
 Exam Management
 Manage Marks with auto saving
 Exam Note for Students
 Tabulation Sheet
 PDF Report
 Exam Statistic
 Events Publication
 Push Notification event update
 Email Notification event update
 Event Countdown
 Event Provisions
 News Publication
 Push Notification news update
 Email Notification news update
 Ability to search News
 Real-time Filtering based category
 Public Messages for Web Guest
 Subscription System
 Student Management
 Student Promotion to Next Class
 Student Mark sheet report
 Attendance Management
 Attendance Report
 Class Management
 Class Routine Management
 Teacher Management
 Guardian Management
 SEO Optimized
 SEO-Friendly URL
 Responsive Slider
 Contact Page (With Google Map)
 Newsletter (Send Html Email to All Registered Emails)
 Manage Subscribers
 Lazy Image Loading
 Social Sharing
 Page view Counts
 Ajax Comment System
 Advanced Post Options
 Roles & Permissions System
 Rich Text Editor (Image and Video Can Be Added)
 Advanced Settings Options
 Visual Settings
 Change Logo, Favicon, Site Title, Site Description, etc. from Admin Panel
 Easy Installation Using Installation Wizard
 Detailed Documentation
 Runs on PHP 5.6, 7.0, 7.1, 7.2

Installation

Check your PHP version before start installation. Your PHP version should be 5.6, 7.0,
7.1, 7.2
cURL PHP extension should be enabled in your server. If you get "cURL is not
available on your server! Please enable cURL to continue the installation" error
during installation, you need to enable cURL on your server. You can enable it by
adding extension=php_curl.dll line to your php.ini file. If you cannot access your
php.ini file, please contact your host service.

Follow these steps to install the script:

1. Create a new Database with user that has all permissions.


Go to cPanel and Click MySQL® Databases
Create New Database

Add New User

Add User to Database


Set User Permissions

2. Upload script files to your hosting (FTP).

Open your cPanel and go to File Manager section.


Go to main directory of your site. Most of the time this folder will be "public_html".

Open this folder and upload metro-school.zip file to this folder.


Right click the .zip file and select Extract option.

3. You will see this page after uploading all files to your FTP. Click "Install" to
proceed. If you cannot see this page, you can access install page by entering this
link to your browser address bar: http://yourdomain.com/install

4. There is a welcome screen and then click Next.


5. Check system requirements. If one of these extensions is not enabled, you must
enable it from your server settings. If all requirements are provided, click Next.
6. Check folder permissions. If all folders are writable, click Next.
7. Enter your database credentials. Click next.

8. Then enter your admin credentials and your Time zone. Click finish.

** Please delete the install folder after successfully installing the script for security
reason and solve the bugs in Chat Messaging
SSL & .htaccess

If you have SSL in your site, you can redirect all links on your site to HTTPS by editing
.htaccess file.

You can use the one of the following .htaccess options by editing .htaccess file that in
your main directory.

Option 1: Redirecting to HTTPS

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
[R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Option 2: Redirecting to HTTPS (Without 301 redirection)

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Option 3: Redirecting to HTTPS (A different method)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

**Do not forget to replace "example.com" with your domain.


Option 4: Redirecting Non-www URLs to www

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Option 5: Redirecting www URLs to Non-www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Option 6: Redirecting to HTTPS and www

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
[R=301,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Option 7: Redirecting to HTTPS and Non-www

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
[R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
File Upload Settings

If you want to upload large files, you may need to make some settings on your server.
Also, Metro School performs image optimization while uploading images. This
optimization uses memory.

If you try to upload large files without doing some settings on your server, you can get
an error.

If you can't upload large files, you need to set these PHP values. These are
recommended minimum values.

php_value upload_max_filesize 32M


php_value post_max_size 32M
php_value memory_limit 256M

With these settings, you can only upload files up to 32 MB in size. If you want to
upload larger files, you need to increase the "32M" value.

To set these values follow the steps:

Go to your cPanel and click "Select PHP Version"


Then click "Switch to PHP Options"

Then set the values "upload_max_filesize", "post_max_size" and "memory_limit" as


you see in the picture.
Quick Start

✓ Accessing Admin Panel: After installation, you will be redirected to front home
page. Click Member Area, Login with your Admin email and password. After login,
you will see your admin panel.

✓  Updating Profile Information: Click your avatar that in the top menu and then
click "Account Settings" link. In this page you can edit your Email Address, Username,
and Photo.

✓ Changing Admin Password: Click your avatar that in the top menu and then click
"Account Settings" link. Fill out the Change Password form and change your password.

✓ Updating Contact Information: Click your avatar that in the top menu and then
click "Account Settings" link. In this page you can edit your Email Address, Username,
and Photo.

✓ Admin Dashboard: In this Page admin can view the statistic of Users, Monthly
Attendance Stats, and Daily Attendance Stats.

✓ Teacher, Student, and Guardian Dashboard: In this Page these users can view all
school updates, such as News, Events, Forum, Online Course and Online Exam
Updates just only in one page.

✓ Chatting: Click message icon in the right bottom of your screen. The previous
contacted user will be appeared there. If you want to chat a new user, just type the user
name in the search form.

✓  School Event: This menu just for admin. Click “Events” in the sidebar. Then click
Add events. Admin can notify users for this update by Push Notification or Email
Notification.

✓  School Forum: For admin or Teachers as Moderator, Click Forum then forum list.
There you can lock topic, delete, edit, make it solved etc. Admin and Moderator can
also ask a question. For Students and Teacher, you will find school forum from your
Dashboard Timeline.
✓ Public Message: All users including Guest can post public from front page in
Contact Us Menu. This Message will be reviewed by Admin from Public Message Page
in Admin Panel.

✓ Subscription: All Users including Guests can subscribe to this website by sending
their Email Address in the front page. From admin panel you can view those Email
address or delete it. Admin also can view Email logs and delete it.

✓ Students: Teachers can view the student list and view their mark sheet. However,
only admin has the capability to add, edit, and delete students.

✓ Students Promotion: Students must be promoted by admin to the next class in the
next session in order for them will be appeared in the next session. If Admin does not
promote the students, they will not be appeared in the next session.

✓ Teachers Management: Go to Teachers Page by Clicking Teachers in the sidebar.

✓ Guardians Management: Go to Guardians Page by Clicking Guardians in the


sidebar.

✓ Classroom Management: Go to Classroom Page by Clicking Classroom in the


sidebar. Add your class and make sure you input the Guidance Teacher.

✓ Class Routine: Go to Class Routine Page by Clicking Classroom in the sidebar. Add
class schedule as you wish.

✓ Daily Attendance: Admin can set Students Attendance by going to Daily


Attendance. Select Class and Date before proceeding. To view attendance report, go to
Daily Report, select class and month.

✓ Subject Manage: Go to Subject Management Page. Add a Subject. Subject is per


session based. So if you add the subject in session 2020-2021, it is not appeared in
session 2021-2012. You must create another subject for next session.

✓ Examination: This feature is school formal examination. In this page, admin can
manage Exam grade, manage exam, manage students mark with auto save technology,
add exam note for specific students, View Tabulation Sheet, Convert Exam Report into
PDF, the view exam statistics.
✓ Online Course: The ability to conduct online learning. All users can be instructors
by admin permission. Create an online course, add sections and lessons. Course can be
free or paid according to the instructor. With many types of Lessons including Video
type lessons (YouTube, Vimeo, HTML5), Document Lessons (PDF, XLSX, DOCX,
PPTX), Image lesson with zooming capability, and Quiz Lesson to test students’
understanding.

✓ Online Exam: The ability to conduct online test with multiple questions. It is
secured by setting the timer for the exam. The flexibility of this exam is that the user
creates questions as many as possible by grouping it in Question group. After creating
exam, the add the created question by clicking Add to Exam. There are two things that
may be unclear, The Number of Question and Question added. The number of question
is the maximum question students will get in certain exam. While Question Added is
the number of question you added into that exam, for example you add 100 question but
filling 25 in the Number of Questions field, the students will get 25 question in their
exam. If you make it random, the questions will appear by random.

✓ Email Notification: Notify users using SMTP email service. Email is in email logs,
then it will be sent by queue using cronJob in Linux and Task Scheduler in Windows.

✓ Push Notification: Notify users using Onesignal web push Notification. It also
notify to specific users.
Email Settings

You can make your email settings from this section. To send emails, you must create a
mail account on your server and you must enter your email account credentials to these
fields. Also, you can use Gmail server to send emails.

 Mail Host: Your mail server (E.g: mail.example.com)


 Mail Port: Your mail port (Default: 587)
 Mail Username: Your username (E.g: [email protected])
 Mail Password: Your password

Sending Email with SMTP Using Gmail Mail Server

2. SMTP Settings:

Mail Protocol: SMTP


Mail Host: ssl://smtp.googlemail.com
Mail Port: 465
Mail Username: [email protected] (your email)
Mail Password: your email password   

2. You have to allow less secure devices from this url:


https://myaccount.google.com/lesssecureapps

3. Go to settings in your Gmail account and click "Forwarding and POP/IMAP"


tab.

4. Select Enable IMAP option.


After these settings you can use Gmail to send emails.

To use your Hosting Email Provider select your SMTP settings.


General Settings

 School Name: Your school name.


 Application Title: Your site name.
 Onesignal ID: This ID is required for Push Notification.
 TIMEZONE: Click time for references.
 Map Embedding URL Code: Click get code how to get that code
 Etc.

Payment Settings

PayPal Settings

You will need to create an app in the PayPal account to generate a client ID for your
account. 

 Go to the developer PayPal website and create an account or sign in.


 After Sign In, go to https://developer.paypal.com/developer/applications/ My
Apps & Credentials and click “Create App” button to create an application.
Fill in the necessary details and select Create App.
 Once the App is created it will have a toggle for sandbox and live and also
show the Client ID.

 Switch the toggle to Live.

 
Stripe Settings

Getting Client ID and Defining Redirect URI

1. Log in to your Stripe account or create a new one at the Stripe website.

2. Select Settings on the sidebar of the Stripe dashboard.


3. A new page will open. Go to Settings in the Connect section.

4. On the Settings page find the Integration section and copy the Live mode client
ID.

5. Paste this ID to the corresponding field of the Stripe Connect payment method
settings.
6. Copy both Redirect URIs from the Stripe Connect payment method settings in
Multi-Vendor, go back to the Stripe dashboard and insert the URIs into the
corresponding field.
Getting Publishable Key and Secret Key

1. Choose Settings and then select API keys on the sidebar of the Stripe dashboard.

2. On the API keys page find the Publishable key and Secret key fields and copy
their values.
Midtrans Settings

Follow the tutorial on https://www.youtube.com/watch?v=NsFfDrZ7hM8


Cron Job

A cron job is a Linux command for scheduling a task to be executed sometime in the
future. You can set a cron job to update your sitemap, scheduled posts or RSS feeds
periodically.

Follow these steps to set up cron job:

Go to your cPanel and click cron jobs.


Select the time interval that the cron job will run and your command and create the cron
job.

Commands

Send Email Notification:

wget -O /dev/null http://domain.com/send_email/send_newsletter

**Do not forget to change "domain.com" with your domain name.


Task Scheduler

1) Go to Start → Control Panel → Administrative Tools → Task Scheduler (or


Scheduled Tasks on earlier versions of Windows)

2) Click "Create Task":


3) In the "General" tab, give the task a name, and ensure that the task is set to run under
a user account with necessary permissions to execute CRON.BAT files:
4) In the "Triggers" tab, click "New", and set the task to repeat every 5 Minutes:

5) In the "Action" tab, click "New", set the Action to "Start a program", and click the
"Browse" button.

**Specify the location of CRON.BAT to your own location


6)Edit the CRON.BAT using text editor like notepad.

D:\xampp\php\php.exe The first Tab define the location of your PHP.exe.

D:\xampp\http\new_metro_id\index.php Send_email/send_newsletter

the second tab define your file, the bold font must remain still.

Onesignal Settings

Sending Web Push Notifications is easy with OneSignal. If you haven't already, sign up
for a free account on onesignal.com.

1. Add your App


If this is not your first app with OneSignal, click New App/Website.

Simply name your app something similar to your site, then select Web Push from the
platform list. Click "Next: Configure Your Platform".
2. Select Integration
The OneSignal Dashboard will guide you through the process of setting up your site.

1. Typical Site Setup - Select this option if you plan to add the OneSignal SDK to
your site using code and do most of your app's configuration in the OneSignal
dashboard.
2. WordPress Plugin Setup or other Website Builder Options
3. Custom Code Setup - Select this option if you are a developer that wants
complete control over how OneSignal works by writing custom Javascript.

You might also like