Tuesday, 21 December 2021

PWA App for Your PHP Website

 

In the modern-day website development, PWA is an essential need for all the websites we are making. Customers will always ask us to give provision for installing  the website as an icon in the particular customers mobile screen. So they can directly visit site clicking on an icon. This article's main aim is to get you through developing a simple app to install icon on customers mobile screen for easy navigation to your site. Advanced features like push applications wont be explained in this article.


Steps to Create PWA

Files Needed

1) manifest.json
2) script.js
3) service-worker.js
4) offline.html
5) Icons Folder with logos in different sizes

Note: Website should have SSL installed and should be sever in https://, that's mandatory requirement


Step-1

In your website header file, you have to include manifest json file and script js file.

<link rel="manifest" href="manifest.json">
 <script src="script.js" defer></script>


Step-2

Create  manifest.json file with following content

{
  "short_name": "AppDisplay Short Name",
  "name": "App Name- App Tagline",
  "description": "App-Description",
  "icons": [
    {
      "src": "https://sitename.com/icons/icon-48x48.png",
      "sizes": "48x48",
      "type": "image/png"
    },
    {
      "src": "https://sitename.com/icons/icon-72x72.png",
      "sizes": "72x72",
      "type": "image/png"
    },
    {
      "src": "https://sitename.com/icons/icon-96x96.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "https://sitename.com/icons/icon-144x144.png",
      "sizes": "144x144",
      "type": "image/png"
    },
    {
      "src": "https://sitename.com/icons/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "https://sitename.com/icons/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "start_url": "/",
  "background_color": "#f2f4f7",
  "display": "standalone",
  "scope": "/",
  "theme_color": "#f2f4f7"
}

For source of icons we have to create icons of different sizes in the icons folder same like defined in manifest file.


Step-3

Create script.js file with following content

const divInstall = document.getElementById('installContainer');
const butInstall = document.getElementById('butInstall');

/* Put code here */



/* Only register a service worker if it's supported */
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/service-worker.js');
}

/**
 * Warn the page must be served over HTTPS
 * The `beforeinstallprompt` event won't fire if the page is served over HTTP.
 * Installability requires a service worker with a fetch event handler, and
 * if the page isn't served over HTTPS, the service worker won't load.
 */
if (window.location.protocol === 'http:') {
  const requireHTTPS = document.getElementById('requireHTTPS');
  const link = requireHTTPS.querySelector('a');
  link.href = window.location.href.replace('http://', 'https://');
  requireHTTPS.classList.remove('hidden');
}

Step-4

Create service-worker.js file with following content

const CACHE_NAME = 'offline';
const OFFLINE_URL = 'offline.html';

self.addEventListener('install', function(event) {
  console.log('[ServiceWorker] Install');
  
  event.waitUntil((async () => {
    const cache = await caches.open(CACHE_NAME);
    // Setting {cache: 'reload'} in the new request will ensure that the response
    // isn't fulfilled from the HTTP cache; i.e., it will be from the network.
    await cache.add(new Request(OFFLINE_URL, {cache: 'reload'}));
  })());
  
  self.skipWaiting();
});

self.addEventListener('activate', (event) => {
  console.log('[ServiceWorker] Activate');
  event.waitUntil((async () => {
    // Enable navigation preload if it's supported.
    // See https://developers.google.com/web/updates/2017/02/navigation-preload
    if ('navigationPreload' in self.registration) {
      await self.registration.navigationPreload.enable();
    }
  })());

  // Tell the active service worker to take control of the page immediately.
  self.clients.claim();
});

self.addEventListener('fetch', function(event) {
  // console.log('[Service Worker] Fetch', event.request.url);
  if (event.request.mode === 'navigate') {
    event.respondWith((async () => {
      try {
        const preloadResponse = await event.preloadResponse;
        if (preloadResponse) {
          return preloadResponse;
        }

        const networkResponse = await fetch(event.request);
        return networkResponse;
      } catch (error) {
        console.log('[Service Worker] Fetch failed; returning offline page instead.', error);

        const cache = await caches.open(CACHE_NAME);
        const cachedResponse = await cache.match(OFFLINE_URL);
        return cachedResponse;
      }
    })());
  }
});

Step-5

Create offline.html file so that this content will be displayed when there is no internet connection. Put following content in the file.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Offline</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="theme-color" content="#3f51b5">
    <link rel="manifest" href="/manifest.json">
    <style>
      body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
        -webkit-font-smoothing: antialiased;
      }
      img {
        display: block;
        margin-left: auto;
        margin-right: auto;
      }
      h1, div {
        text-align: center;
      }
    </style>
  </head>
  <body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAEsCAYAAACG+vy+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxRUM3NTFERjAzN0QxMUUxQUI5QkU5Q0VENTBFMjc2QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRUM3NTFFMDAzN0QxMUUxQUI5QkU5Q0VENTBFMjc2QSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFFQzc1MUREMDM3RDExRTFBQjlCRTlDRUQ1MEUyNzZBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFFQzc1MURFMDM3RDExRTFBQjlCRTlDRUQ1MEUyNzZBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hI3m0wAAiuJJREFUeNrsfQmA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">
    <h1>Offline</h1>
  </body>
</html>

Step-6

Create a folder called icons and upload icons with various sizes as defined in manifest file. your folder will be looking like this:-

Now when customer visit your site , they will be asked to add your app to their home screen. Then that icon will be seen just like the other app icon.




Wednesday, 15 December 2021

Restaurant POS Management System

 Simple POS software for managing small restaurants and cafeterias.It has all basic features available for running your small enterprise. It can be set up on any computers, tablets or pads, which users can use with ease.  


The features include:-


  • Store management
  • Ware House Management
  • Menu Management
  • Manage Stocks
  • Waiter Management
  • Customer Management
  • Supplier Management
  • Expense Management
  • POS Sales
  • Invoice and Receipt Management
  • Settings management
  • User management
  • Advanced Reports
Watch the demo below:-


Apartment Management System in PHP

 Apartment Management System is one of the best bedspace and partition management software available in the market. Nowadays people are using excel for managing their accounts, which is very time consuming. What we are offering is a system, where you can generate all rents and manage it in a single click. You just have to login and you will know the statistcs of rent paid, rent dues, utility bills amount, staff salary payment.etc.. Our Main Features include:-

  • Monthly Rent Calculation in a single click
  • Bedspace and partition allocation
  • Maintaining Expenses and utility Bills
  • Staff management and Payroll
  • Reports and statistics on due bills, paid bills or rent
  • Tenants doc management and history 
  • Reminders on due bills and rents
You can watch the demo below:-


Tenant Management System in PHP

 Tenant Management system is one of the best bedpace and partition management software available in the market. Nowadays people are using excel for managing their accounts, which is very time consuming. What we are offering is a system, where you can generate all rents and manage it in a single click. You just have to login and you will know the statistcs of rent paid, rent dues, utility bills amount, staff salary payment.etc.. Our Main Features include:-


  • Monthly Rent Calculation in a single click
  • Bedspace and partition allocation
  • Maintaining Expenses and utility Bills
  • Staff management and Payroll
  • Reports and statistics on due bills, paid bills or rent
  • Tenants doc management and history 
  • Reminders on due bills and rents

You can watch demo here:-


School Management System in PHP

 Our School management System is one of the top School management softwares out in the market. It has features dealing with managing of Frontoffice, backoffice, students classes,teachers management, Library management, Timetable schedules, Email and SMS notification,Store management, Vehicle management.etc..

Our main features includes:-

  • Front Office Administration
  • Visitor Book Logs
  • Phone Calls and postal Disptach Logs
  • Students and Admission procedures management
  • Guardian reports, Notifications and reminders
  • Fees collection & management
  • Income and Expense Tracking
  • Attendance management
  • Examination schedule and reports
  • Class Timetable generation, assigning of class teachers
  • Maintain sections,classes and study structures
  • Notice board, Emails and SMS notification
  • Download centre for students syllabus and study materials
  • Student and teachers login
  • Home work evaluation
  • Library Management
  • Inventory and school store management
  • School buses transport management( Assign vehicles and routes)
  • Studemnt's Hostel facility Management
  • Generate students Certificate and ID Card
  • Reports Generation on students, guardians,Fees, incomes, expenses.etc..
  • Managing userroles, sms and email settings
You can see a demo below:-



Pharmacy Management System in PHP

Pharmacy Management system is a simple software for managing pharmacies. With this, we can sell medicines with POS function available. Also we can manage medicine inventory, manage income, expenses,sales.etc. Lets look into the important features of this:-


  • Medicine Inventory Management
  • Recording purchases of medicines and stocks
  • Maintaining Client records
  • POS for medicine sales
  • Generating and Printing Invoices
  • Expenses management
  • Full sales, purchases,income reporting
  • Managing Staff Records

Below is demo for  one of the pharmacy management system we have:-




Another demo for Pharmacy management with POS function can be seen below.


Hospital Management System in PHP

 Our Hospital management system is equipped with all facilities which a hospital needed in his everyday run. Front office management, IN and OUT patient management,pharmacy management, pathology and radiologydepartments management, staff payrolls, stores and inventory mangement.etc.. we offer low cost solutions for your clinic or hospital, which you can manage all your records in a single system. we have reminders and notification systems inside our CRM, which will keep your customers track on the appointment due dates. 

Our Main Features includes:-

  • Front office management
  • OPD-out patient management
  • IPD-In patient management
  • Pharmacy management, Generating pharamcy bills
  • Pathology,Radiology Test allocation and result generation
  • Operation theatre Management
  • Blood bank management
  • TPA management
  • Income & Expense management
  • Ambulance Management
  • HR Management (Staff payroll & Leaves )
  • Reminders and notifications system
  • Reports of transaction,medicines,opd,ipd,payroll.etc.. almost everything
You can watch the demo of software below:-


Office Management Software in PHP

Office Management system is a combination of HR management and accounts management in a single system. This type of facility is rare in the software market, where you will get a software with both modules in a much lower price. The best thing is you can manage your accounts sales and purchases, inventories, employee management in a single system. Even you can configure your SMTP email in this system. This system is developed in codeigniter. You can edit and manage code as per clients requirement using the source code. Below are the main features of the software. 

  • Sales Management
  • Generating Invoices
  • Processing Shipping Orders
  • Delivery Order Management
  • Quotation Preparation
  • Purchase Management
  • Receiving Products in stocks confirmation
  • Customer and vendor management
  • Products and Inventory Management
  • Asset Management and Depreciation
  • Accounts Transactions, Deposits, Payables, recivables, Income & Expense Management
  • Chart of Accounts
  • Employee Management
  • Employee Salary Management and payslip Generation
  • Leave application Management
  • Employee login Facility
  • Employee Recognition awards
  • Attendance management
  • Notices and Email alerts
  • Employee document management
  • Multi Language support
  • SMTP email configuration and mail setup


 Below you can watch a demo of the above software. Please feel free to send your enquiries or doubts using the contact form on left side.