LUMEN

TIP

For support email us at: codekerala@gmail.com

Purchase

You can buy the complete source code from Code canyon

Buy Now

Demo

See the demo before you make purchase

See Demo

Getting Started

Lumen is a simple invoicing solution built on top of Laravel PHP, Vue.js and Webpack. Lumen follows standard laravel practices for development and delopyment.

System Requirements

You will need to make sure your server meets the following requirements:

  • Linux Operating System
  • Nginx / Apache
  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • MYSQL 5.7+

Lumen utilizes Composer to manage its dependencies. So, before using Lumen, make sure you have Composer installed on your machine.

Installation

Public Directory

After installing Lumen, you should configure your web server's document / web root to be the public directory. The index.php in this directory serves as the front controller for all HTTP requests entering your application.

Directory Permissions

Directories within the storage and the bootstrap/cache directories should be writable by your web server or Lumen will not run.

We can give group ownership of our Lumen directory structure to the web group by typing:

sudo chown -R :www-data ./lumen
sudo chmod -R 775 ./lumen/storage
sudo chmod -R 775 /.lumen/bootstrap/cache

Application Config

Next create a new database and add your database credentials to your .env file:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=deployer
DB_USERNAME=deployer
DB_PASSWORD=secret

You will also want to update your website URL inside of the APP_URL variable inside the .env file:

APP_URL=http://www.example.com

Email

Also setup your email server config in .env to send emails.

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

You may also want to configure a few additional components of Laravel, such as: Cache, Session, etc.

Run The Installer

Lastly, we can install lumen by running the below.

php artisan lumen:install

The above comand will also run php artisan key:generate --force and php artisan migrate --force

By default you should be able to login with the below email and password

Email: admin@lumen.test
Password: password

WARNING

Please change your email and password inside user settings after login.

Cron Job

In order to make recurring exports work, you have to setup up cron job. Go to your terminal and run the below command

crontab -e

This will open server crontab file, paste this code inside, save it and exit.

WARNING

Make sure the path is correct

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

This Cron will call the Lumen command scheduler every minute. When the schedule:run command is executed, Lumen will evaluate your scheduled tasks and runs the tasks that are due.

Pretty URLs

Apache

Lumen includes a public/.htaccess file that is used to provide URLs without the index.php front controller in the path. Before serving Lumen with Apache, be sure to enable the mod_rewrite module so the .htaccess file will be honored by the server.

If the .htaccess file that ships with Lumen does not work with your Apache installation, try this alternative:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

If you are using Nginx, the following directive in your site configuration will direct all requests to the index.php front controller:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Configuration

For developers

Lumen is a build with laravel 5.6 and Vue js

This zip file only contain production files and does not contain node_modules director. In order to customize you have delete the vendor directory and run below commands:

composer install
npm install

Directory Structure

  • Javascript files can be found in resources/assets/js and not in the public folder.

Internationalization

You can find the english translation inside resources/lang/en

For example to translate to language french fr

  • set APP_LOCALE=fr inside .env
  • Make a folder fr inside resources/lang/
  • copy all the files from resources/lang/en to resources/lang/fr
  • Begin translation

Security

Before you deploy make sure you have set proper settings in .env file

APP_ENV=production
APP_DEBUG=false