Installation and Setup Guide - Signal Loans

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Signal Loans - Version 1.

0
21st February 2020
Installation and Setup Guide

Server Requirements​ (Laravel V6)

PHP >= 7.2.0

BCMath PHP Extension

Ctype PHP Extension

JSON PHP Extension

Mbstring PHP Extension

OpenSSL PHP Extension

PDO PHP Extension

Tokenizer PHP Extension

XML PHP Extension

File and folder permissions


/bootstrap ​775

/storage ​775​ (recursively)

SSL
We enforce use of ​ssl ​for signal loans app. Domain and server service providers like

namecheap will provide automated ssl setup. T​o run the app on your local machine, you 

may get SSL from a service like Let’s Encrypt.


1. Creating a new Database
Create a new database on your mysql server. ​If using cpanel, create a new

database in the database tab, assign a database user with privileges. We’ll need

the ​database name​, ​username ​and ​password ​for installation.

2. Uploading Files
After creating a database, unzip the downloaded files from CodeCanyon and

upload the ​contents​ of the production ​production.zip ​folder to your server root:

Example Server root directories include: ​/path/to/www/​ or ​/path/to/html/

or ​/path/to/public_html/​.

NOTE:​ Always use a desktop application like ​FileZilla​ to upload files to FTP as

opposed to web based file managers to avoid issues with corrupted or missing

files.

NOTE:​ Make sure that ​.env​ and ​.htaccess (hidden files)​ file get copied to your

server.

See image below for what the files should look like while in your server.
Important​:

On two hidden files.

We noted some operating systems were omitting the upload to these two files. Set your
server to show hidden files so you may upload all.
● Inside the “/core” directory, there is a hidden file ‘.env’.
● Inside the “/backend” directory, there is a hidden file ‘.htaccess’
Inside the /core directory. Note the​ ​.env​ file. (Enable to see hidden files to see)

Inside the /backend directory. Note the​ ​.htaccess​ file. (Enable to see hidden files to see)
3. ​Run the setup
Navigate to…. . ​/backend/install​ endpoint of your domain name where you just
uploaded the production code.
Example: ​https://mysite.com​/backend/install

You will need the database name, user and password generated from step1. Above.

The install wizard will check for server requirements and correct directory permissions.
You will then enter database details (Already created in cpanel and a user with
privileges assigned). The last step is creating a default user. You will finally be
redirected to a login page, where you’ll use the just created user (email/password), to
log in. See images below.

Step 1: https://mysite.com/backend/install
If any server requirement is marked as not available, install or activate in your server
and rerun the installer.
If any directory permission is marked as not right, change it to 755 in your server and
rerun the installer.
In most cases, only the last three will need to be added. The ‘localhost’ as host and port
‘3306’ is a good guess if you are not sure what the alternatives could be.
When setup is complete, you will be redirected to the login page. I.e ​ /#/login.​ Login
using the default user:

Username: ​admin@admin.com
Password: admin123

At this stage, the setup is complete.


Possible issues:

1. Make sure to create a database and assign a user before running the installer.

2. The uploaded files have .env file inside the “/core” directory. This is where the
installer writes app configurations. Normally you don’t have to touch this file.
However in case of any errors during the installation process, confirm that you
didn’t skip this hidden file during upload. There is a second hidden file (.htaccess)
inside the “/backend” directory.

3. If any server requirement is marked as not available, kindly enable it or contact


your server provider.
 
Scheduler Cron Job 
 
Finally set a cron job so the scheduler may run. We use the scheduler to send emails, 
sms, calculate loan due and assign loan repayments. 
Our aim here is to run this command every minute. Command to run is: ​php artisan
schedule:run 
 
* * * * * cd /path-to-your-project/artisan schedule:run >>
/dev/null 2>&1
Use Cpanel to set up cron jobs as shown below:

Development Mode 

You will need some skills in Laravel PHP framework and Angular 8. 

To run the app in development mode, see the development.zip directory. Open the 

backend.zip​ directory using an IDE like PHPstorm or VSCode. The f​ rontend.zip​ can be 

worked on with WebStorm or VsCode IDE. 

To run the Angular frontend in your development machine, make sure to have ​Node.js 

and npm​ (Needed to install angular and other packages we may require.) installed. 

Open the code in your chosen IDE. Ensure node and Angular CLI is installed. ​ ​Angular 

CLI​ (​npm install -g @angular/cli​)​. With the project open in the IDE, run ​npm i​ in the 

terminal, to install project node dependencies. Use ng serve -o to run and open the 

development server. 

The development run of Angular will automatically open the app on your default web

browser.
To run the backend (Laravel), install apache, Mysql and PHP. Run the migrations and

seed files to generate your starting data.

Development Local URL

See image below on where to edit local development url. (assets/config/api-version.ts)

To remove the SSL enforcement, see image below. (app/shared/base-service.ts)


AFTER LOGIN

Once logged in, there is a self descriptive menu on the left.


At the settings menu, different system configuration options are available.

1. The Capital menu sets the initial lending capital per branch.

2. Set up different witness types on the borrower setting menu.

3. Setup your business branches on the Settings->branches menu item.

4. At the communication settings menu item, this is where you configure your email

sending configurations. You edit your email and sms templates here and assign

when to send these communication items.

5. Expenses are grouped into categories. We set up categories at the

Settings->Expense menu. You will not be able to add a branch expense at the
main sidebar menu unless there is a category already set. These categories are

company wide, not specific per different branches. Expenses are however

differentiated per branch.

6. To add a loan application, first setup a loan type at the settings->loans menu

item. You other tabs to edit interest types and payment frequencies at this menu

item.

7. The payments submenu under settings will enable you to add manual payment

methods. Unless extended in code, payment methods like paypal or skill will not

work. With this version.

8. At the Users & Roles submenu of the settings, you will be able to manage users,

roles and user permissions. Normally this is an admin only feature. Make sure to

deny your non admin users user-setting permission to hide this feature from your

general users.

To give out a loan. First, in settings->loans, create a loan type. E.g Business Loan.

Select different options as per your business operations.


Create a member at the members menu on the main left sidebar.

Apply for a loan under the loan applications menu which is at the left sidebar. Once

created, the loan application will appear at the list of loan applications under the same
menu.

At the click of the details button of a loan application, the user is taken to a details page.

If admin user, there will be a review tab where you can convert this loan application into

a loan.
Once converted, this new loan will display at the list of loans. (Loans menu at left

sidebar).

To pay for a loan, use the payments menu item at the left sidebar. Select a member

whose payment you wish to register and complete the form.

Internally, Signal Loans will assign the loan payment to fees, penalties, interest or

principal repayment.

See the FAQ document for more info on Signal Loans operations.
Conclusion​: 

I hope this documentation is detailed enough to get you started using signal loans, for 

any issues that are not covered in this documentation, please contact me via email. You 

can also hire me to customize the system at a reasonable fee. 

I will also be updating the script every now and then so it may positively influence your 

business. I will appreciate your feedback and idea suggestions to improve this app. 

Thank you, 

Kevin Mungai. 

robisignals@gmail.com 

+254 724 475 357 

You might also like