diff --git a/analytics.php b/analytics.php
index 63e89f83..4b9e0f55 100644
--- a/analytics.php
+++ b/analytics.php
@@ -9,6 +9,8 @@
include('config.php'); // Includes the updated config.php with the $connection variable
+
+
try {
// Check if username is set in session
if (!isset($_SESSION["username"])) {
@@ -543,6 +545,7 @@ class="rounded-top img-fluid mb-4">
Analytics
Reports
+ PDF
@@ -653,6 +656,7 @@ class="rounded-top img-fluid mb-4">
+
diff --git a/dbs13455438.sql b/dbs13455438.sql
index 79319c96..1fa1025b 100644
--- a/dbs13455438.sql
+++ b/dbs13455438.sql
@@ -1,14 +1,13 @@
-- phpMyAdmin SQL Dump
--- version 4.9.11
+-- version 5.2.1
-- https://www.phpmyadmin.net/
--
--- Host: db5016593580.hosting-data.io
--- Generation Time: Nov 24, 2024 at 11:58 PM
--- Server version: 10.11.7-MariaDB-log
--- PHP Version: 7.4.33
+-- Host: 127.0.0.1
+-- Generation Time: Dec 02, 2024 at 07:25 PM
+-- Server version: 10.4.32-MariaDB
+-- PHP Version: 8.2.12
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
@@ -65,7 +64,7 @@ INSERT INTO `categories` (`category_id`, `category_name`, `description`, `create
(9, 'Foods', NULL, '2024-11-03 19:35:05'),
(10, 'Auto', NULL, '2024-11-03 19:38:49'),
(11, 'Fashion', NULL, '2024-11-03 19:40:54'),
-(12, 'Cosmetic', NULL, '2024-11-03 19:46:28'),
+(12, 'Cosmetics', NULL, '2024-11-03 19:46:28'),
(13, 'Items', NULL, '2024-11-17 19:00:56');
-- --------------------------------------------------------
@@ -83,13 +82,6 @@ CREATE TABLE `contacts` (
`phone` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
---
--- Dumping data for table `contacts`
---
-
-INSERT INTO `contacts` (`id`, `name`, `email`, `message`, `created_at`, `phone`) VALUES
-(0, 'OLUWAFEMI JEGEDE', 'olphemie@gmail.com', 'hbjixahucs', '2024-11-10 00:44:55', '0111826872');
-
-- --------------------------------------------------------
--
@@ -136,12 +128,12 @@ CREATE TABLE `expenses` (
--
INSERT INTO `expenses` (`expense_id`, `description`, `amount`, `expense_date`, `created_by`) VALUES
-(4, 'Rent', '500.00', '2024-11-02 04:00:00', 'Tom'),
-(5, 'Taxes and Levy', '800.00', '2024-10-03 04:00:00', 'karim'),
-(6, 'Renovation', '800.00', '2024-09-06 04:00:00', 'jerry'),
-(7, 'Marketing', '1000.00', '2024-07-19 04:00:00', 'john'),
-(8, 'Bills', '3500.00', '2024-08-14 04:00:00', 'william'),
-(9, 'Wages', '2800.00', '2024-06-13 04:00:00', 'tamika');
+(4, 'Rent', 500.00, '2024-11-02 04:00:00', 'Tom'),
+(5, 'Taxes and Levy', 800.00, '2024-10-03 04:00:00', 'karim'),
+(6, 'Renovation', 800.00, '2024-09-06 04:00:00', 'jerry'),
+(7, 'Marketing', 1000.00, '2024-07-19 04:00:00', 'john'),
+(8, 'Bills', 3500.00, '2024-08-14 04:00:00', 'william'),
+(9, 'Wages', 2800.00, '2024-06-13 04:00:00', 'tamika');
-- --------------------------------------------------------
@@ -209,9 +201,9 @@ CREATE TABLE `invoices` (
--
INSERT INTO `invoices` (`invoice_id`, `invoice_number`, `customer_name`, `invoice_description`, `order_date`, `order_status`, `order_id`, `delivery_address`, `mode_of_payment`, `due_date`, `subtotal`, `discount`) VALUES
-(12, '567', 'james', 'delivery', '2024-11-01', 'Paid', '4567', '112 freway oho', 'mpesa', '2024-11-05', '640.00', '2.00'),
-(13, '6578', 'Macro stores', 'product delivery', '2024-10-02', 'Paid', '76890', '112 freeway atlanta', 'Visa Card', '2024-11-16', '1930.00', '5.00'),
-(14, '09876', 'smooth travels', 'customer invoice', '2024-10-09', 'Paid', '12378', '345 uhuru highway nairobi', 'Master Card', '2024-10-25', '7500.00', '10.00');
+(12, '567', 'james', 'delivery', '2024-11-01', 'Paid', '4567', '112 freway oho', 'mpesa', '2024-11-05', 640.00, 2.00),
+(13, '6578', 'Macro stores', 'product delivery', '2024-10-02', 'Paid', '76890', '112 freeway atlanta', 'Visa Card', '2024-11-16', 1930.00, 5.00),
+(14, '09876', 'smooth travels', 'customer invoice', '2024-10-09', 'Paid', '12378', '345 uhuru highway nairobi', 'Master Card', '2024-10-25', 7500.00, 10.00);
-- --------------------------------------------------------
@@ -233,12 +225,12 @@ CREATE TABLE `invoice_items` (
--
INSERT INTO `invoice_items` (`invoice_items_id`, `invoice_id`, `item_name`, `qty`, `price`) VALUES
-(23, 12, 'laptop', 2, '200.00'),
-(24, 12, 'bag', 2, '120.00'),
-(25, 13, 'Apple IPhone', 2, '900.00'),
-(26, 13, 'Headphones', 2, '65.00'),
-(27, 14, 'Web design', 1, '5000.00'),
-(28, 14, 'SEO services', 1, '2500.00');
+(23, 12, 'laptop', 2, 200.00),
+(24, 12, 'bag', 2, 120.00),
+(25, 13, 'Apple IPhone', 2, 900.00),
+(26, 13, 'Headphones', 2, 65.00),
+(27, 14, 'Web design', 1, 5000.00),
+(28, 14, 'SEO services', 1, 2500.00);
-- --------------------------------------------------------
@@ -252,7 +244,7 @@ CREATE TABLE `page_access` (
`required_access_level` enum('trial','starter','business','enterprise') NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
--
-- Dumping data for table `page_access`
@@ -260,8 +252,6 @@ CREATE TABLE `page_access` (
INSERT INTO `page_access` (`id`, `page`, `required_access_level`, `created_at`, `updated_at`) VALUES
(1, 'dashboard.php', 'trial', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
-
-
(13, 'page-add-expense.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(14, 'page-add-product.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(15, 'page-list-inventory.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
@@ -269,26 +259,21 @@ INSERT INTO `page_access` (`id`, `page`, `required_access_level`, `created_at`,
(17, 'page-add-sale.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(18, 'page-list-category.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(19, 'page-list-product.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
-
-(20, 'analytics-report.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
+(20, 'analytics-report.php', 'business', '2024-11-12 18:01:55', '2024-11-30 16:53:16'),
(21, 'analytics.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(22, 'inventory-metrics.php', 'business', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(23, 'sales-metrics.php', 'business', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
-
(28, 'invoice-form.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(29, 'edit_invoice.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(30, 'subscription.php', 'trial', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(31, 'pay.php', 'trial', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(32, 'pages-invoice.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(33, 'page-add-customers.php', 'business', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
-(37, 'page-add-staffs.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
+(37, 'page-add-staffs.php', 'business', '2024-11-12 18:01:55', '2024-11-30 16:51:00'),
(38, 'page-add-supplier.php', 'business', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
-
(40, 'page-list-customers.php', 'business', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
(41, 'page-list-expense.php', 'starter', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
-
-
-(45, 'page-list-staffs.php', 'enterprise', '2024-11-12 18:01:55', '2024-11-12 18:01:55'),
+(45, 'page-list-staffs.php', 'business', '2024-11-12 18:01:55', '2024-11-30 16:51:43'),
(46, 'page-list-suppliers.php', 'business', '2024-11-12 18:01:55', '2024-11-12 18:01:55');
-- --------------------------------------------------------
@@ -320,13 +305,7 @@ CREATE TABLE `payments` (
`payment_status` enum('pending','completed','failed') DEFAULT 'pending',
`payment_date` timestamp NOT NULL DEFAULT current_timestamp(),
`subscription_id` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
-
---
--- Dumping data for table `payments`
---
-
-
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- --------------------------------------------------------
@@ -357,23 +336,23 @@ CREATE TABLE `products` (
--
INSERT INTO `products` (`id`, `name`, `description`, `price`, `cost`, `category_id`, `created_at`, `stock_qty`, `supply_qty`, `image_path`, `product_type`, `staff_name`, `category`) VALUES
-(11, 'Samsung Galaxy', 'A10s', '150.00', '100.00', 8, '2024-11-03 03:13:26', 15, 12, 'uploads/products/samsung-galaxy-a10s.jpg', 'Goods', 'joe', 'Devices'),
-(12, 'Pilsner Beer', 'Premium Beer', '25.00', '20.00', 9, '2024-11-03 19:35:05', 50, 20, 'uploads/products/beer.jpg', 'Goods', 'kim', 'Food'),
-(13, 'Sony Camera', 'AI Digital Camera', '75.00', '50.00', 8, '2024-11-03 19:36:50', 25, 10, 'uploads/products/camera.jpg', 'Goods', 'mike', 'Devices'),
-(14, 'Chevrolet AWD', 'Chevrolet AWD 2024', '18000.00', '15000.00', 10, '2024-11-03 19:38:49', 5, 10, 'uploads/products/Chevrolet.jpg', 'Goods', 'james', 'Auto'),
-(15, 'Floral Dress', 'floral-pleated-weave-dress', '55.00', '40.00', 11, '2024-11-03 19:40:54', 40, 50, 'uploads/products/floral-pleated-weave-dress.jpg', 'Goods', 'joe', 'Fashon'),
-(16, 'Nike Sneakers', 'Nike Air Jordan', '95.00', '70.00', 11, '2024-11-03 19:42:47', 49, 60, 'uploads/products/nike-sneakers.jpg', 'Goods', 'mike', 'Fashion'),
-(17, 'Beauty Soap', 'Skincare Soap', '20.00', '10.00', 12, '2024-11-03 19:46:28', 40, 100, 'uploads/products/soap.jpg', 'Goods', 'james', 'Cosmetic'),
-(18, 'Makeup kit', 'Mary Kay Makeup kit', '25.00', '20.00', 12, '2024-11-03 19:48:20', 25, 50, 'uploads/products/make-up.jpg', 'Goods', 'kim', 'Cosmetic'),
-(19, 'Apple IPhone 15', 'Apple IPhone 15 128GB', '1500.00', '900.00', 8, '2024-11-03 20:19:50', 20, 50, 'uploads/products/iphone-15-128gb.jpg', 'Goods', 'james', 'Devices'),
-(20, 'Headphones', 'Sony Digital Headphones', '70.00', '45.00', 8, '2024-11-17 18:30:03', 45, 30, 'uploads/products/headphones.jpg', 'Goods', 'luke', 'Devices'),
-(21, 'Toyota Corolla', 'Toyota Corolla 2024', '14000.00', '12000.00', 10, '2024-11-17 18:36:39', 4, 1, 'uploads/products/toyota-corolla-2024.jpg', 'Goods', 'john', 'Auto'),
-(22, 'Ray Sunglases', 'Ray Sunglases', '85.00', '50.00', 11, '2024-11-17 18:40:24', 12, 20, 'uploads/products/rayban.jpg', 'Goods', 'mark', 'Fashion'),
-(23, 'YSL Perfume', 'Yves Saint Laurent', '120.00', '80.00', 12, '2024-11-17 18:42:51', 10, 30, 'uploads/products/perfume.jpg', 'Goods', 'luke', 'Cosmetic'),
-(24, 'Vitamin Water', 'Vitamin Water Supplement', '25.00', '10.00', 9, '2024-11-17 18:48:51', 100, 150, 'uploads/products/water.jpg', 'Goods', 'luke', 'Foods'),
-(25, 'Outdoor Hike Bag', 'Outdoor Hike Bag', '90.00', '65.00', 13, '2024-11-17 19:00:56', 35, 50, 'uploads/products/hike-bag.jpg', 'Goods', 'john', 'Items'),
-(26, 'Wrist watch', 'Wrist watch', '350.00', '200.00', 11, '2024-11-17 19:06:23', 40, 60, 'uploads/products/wristwatch.jpg', 'Goods', 'matt', 'Fashion'),
-(27, 'Premium Mugs', 'Premium Mugs', '45.00', '30.00', 13, '2024-11-17 19:14:37', 50, 100, 'uploads/products/mugs.jpg', 'Goods', 'matt', 'Items');
+(11, 'Samsung Galaxy', 'A10s', 150.00, 100.00, 8, '2024-11-03 03:13:26', 15, 12, 'uploads/products/samsung-galaxy-a10s.jpg', 'Goods', 'joe', 'Devices'),
+(12, 'Pilsner Beer', 'Premium Beer', 25.00, 20.00, 9, '2024-11-03 19:35:05', 50, 20, 'uploads/products/beer.jpg', 'Goods', 'kim', 'Food'),
+(13, 'Sony Camera', 'AI Digital Camera', 75.00, 50.00, 8, '2024-11-03 19:36:50', 25, 10, 'uploads/products/camera.jpg', 'Goods', 'mike', 'Devices'),
+(14, 'Chevrolet AWD', 'Chevrolet AWD 2024', 18000.00, 15000.00, 10, '2024-11-03 19:38:49', 5, 10, 'uploads/products/Chevrolet.jpg', 'Goods', 'james', 'Auto'),
+(15, 'Floral Dress', 'floral-pleated-weave-dress', 55.00, 40.00, 11, '2024-11-03 19:40:54', 40, 50, 'uploads/products/floral-pleated-weave-dress.jpg', 'Goods', 'joe', 'Fashon'),
+(16, 'Nike Sneakers', 'Nike Air Jordan', 95.00, 70.00, 11, '2024-11-03 19:42:47', 49, 60, 'uploads/products/nike-sneakers.jpg', 'Goods', 'mike', 'Fashion'),
+(17, 'Beauty Soap', 'Skincare Soap', 20.00, 10.00, 12, '2024-11-03 19:46:28', 40, 100, 'uploads/products/soap.jpg', 'Goods', 'james', 'Cosmetic'),
+(18, 'Makeup kit', 'Mary Kay Makeup kit', 25.00, 20.00, 12, '2024-11-03 19:48:20', 25, 50, 'uploads/products/make-up.jpg', 'Goods', 'kim', 'Cosmetic'),
+(19, 'Apple IPhone 15', 'Apple IPhone 15 128GB', 1500.00, 900.00, 8, '2024-11-03 20:19:50', 20, 50, 'uploads/products/iphone-15-128gb.jpg', 'Goods', 'james', 'Devices'),
+(20, 'Headphones', 'Sony Digital Headphones', 70.00, 45.00, 8, '2024-11-17 18:30:03', 45, 30, 'uploads/products/headphones.jpg', 'Goods', 'luke', 'Devices'),
+(21, 'Toyota Corolla', 'Toyota Corolla 2024', 14000.00, 12000.00, 10, '2024-11-17 18:36:39', 4, 1, 'uploads/products/toyota-corolla-2024.jpg', 'Goods', 'john', 'Auto'),
+(22, 'Ray Sunglases', 'Ray Sunglases', 85.00, 50.00, 11, '2024-11-17 18:40:24', 12, 20, 'uploads/products/rayban.jpg', 'Goods', 'mark', 'Fashion'),
+(23, 'YSL Perfume', 'Yves Saint Laurent', 120.00, 80.00, 12, '2024-11-17 18:42:51', 10, 30, 'uploads/products/perfume.jpg', 'Goods', 'luke', 'Cosmetic'),
+(24, 'Vitamin Water', 'Vitamin Water Supplement', 25.00, 10.00, 9, '2024-11-17 18:48:51', 100, 150, 'uploads/products/water.jpg', 'Goods', 'luke', 'Foods'),
+(25, 'Outdoor Hike Bag', 'Outdoor Hike Bag', 90.00, 65.00, 13, '2024-11-17 19:00:56', 35, 50, 'uploads/products/hike-bag.jpg', 'Goods', 'john', 'Items'),
+(26, 'Wrist watch', 'Wrist watch', 350.00, 200.00, 11, '2024-11-17 19:06:23', 40, 60, 'uploads/products/wristwatch.jpg', 'Goods', 'matt', 'Fashion'),
+(27, 'Premium Mugs', 'Premium Mugs', 45.00, 30.00, 13, '2024-11-17 19:14:37', 50, 100, 'uploads/products/mugs.jpg', 'Goods', 'matt', 'Items');
-- --------------------------------------------------------
@@ -409,8 +388,8 @@ CREATE TABLE `reports` (
--
INSERT INTO `reports` (`reports_id`, `report_date`, `revenue`, `profit_margin`, `revenue_by_product`, `year_over_year_growth`, `cost_of_selling`, `inventory_turnover_rate`, `stock_to_sales_ratio`, `sell_through_rate`, `gross_margin_by_product`, `net_margin_by_product`, `gross_margin`, `net_margin`, `created_at`, `total_sales`, `total_quantity`, `total_profit`, `total_expenses`, `net_profit`) VALUES
-(5, '2024-11-15', '58900.00', '24.53', '[{\"product_id\":11,\"product_name\":\"Samsung Galaxy\",\"total_quantity\":\"20\",\"total_sales\":\"3000.00\",\"total_cost\":\"2000.00\",\"total_profit\":\"1000.00\",\"inventory_turnover_rate\":\"1.3333\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":12,\"product_name\":\"Pilsner Beer\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":13,\"product_name\":\"Sony Camera\",\"total_quantity\":\"5\",\"total_sales\":\"375.00\",\"total_cost\":\"250.00\",\"total_profit\":\"125.00\",\"inventory_turnover_rate\":\"0.2000\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":14,\"product_name\":\"Chevrolet AWD\",\"total_quantity\":\"2\",\"total_sales\":\"36000.00\",\"total_cost\":\"30000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"120.000000\"},{\"product_id\":15,\"product_name\":\"Floral Dress\",\"total_quantity\":\"15\",\"total_sales\":\"825.00\",\"total_cost\":\"600.00\",\"total_profit\":\"225.00\",\"inventory_turnover_rate\":\"0.3750\",\"sell_through_rate\":\"137.500000\"},{\"product_id\":16,\"product_name\":\"Nike Sneakers\",\"total_quantity\":\"20\",\"total_sales\":\"1900.00\",\"total_cost\":\"1400.00\",\"total_profit\":\"500.00\",\"inventory_turnover_rate\":\"0.4082\",\"sell_through_rate\":\"135.714286\"},{\"product_id\":17,\"product_name\":\"Beauty Soap\",\"total_quantity\":\"40\",\"total_sales\":\"800.00\",\"total_cost\":\"400.00\",\"total_profit\":\"400.00\",\"inventory_turnover_rate\":\"1.0000\",\"sell_through_rate\":\"200.000000\"},{\"product_id\":18,\"product_name\":\"Makeup kit\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.8000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":19,\"product_name\":\"Apple IPhone 15\",\"total_quantity\":\"10\",\"total_sales\":\"15000.00\",\"total_cost\":\"9000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.5000\",\"sell_through_rate\":\"166.666667\"}]', '0.00', '0.00', '2.00', '0.26', '3.88', '0.00', '0.00', '14450.00', '-30000.00', '2024-11-15 17:14:59', '58900', 152, '14450.00', '44450.00', '-30000.00'),
-(6, '2024-11-17', '92660.00', '26.73', '[{\"product_id\":11,\"product_name\":\"Samsung Galaxy\",\"total_quantity\":\"20\",\"total_sales\":\"3000.00\",\"total_cost\":\"2000.00\",\"total_profit\":\"1000.00\",\"inventory_turnover_rate\":\"1.3333\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":12,\"product_name\":\"Pilsner Beer\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":13,\"product_name\":\"Sony Camera\",\"total_quantity\":\"5\",\"total_sales\":\"375.00\",\"total_cost\":\"250.00\",\"total_profit\":\"125.00\",\"inventory_turnover_rate\":\"0.2000\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":14,\"product_name\":\"Chevrolet AWD\",\"total_quantity\":\"2\",\"total_sales\":\"36000.00\",\"total_cost\":\"30000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"120.000000\"},{\"product_id\":15,\"product_name\":\"Floral Dress\",\"total_quantity\":\"15\",\"total_sales\":\"825.00\",\"total_cost\":\"600.00\",\"total_profit\":\"225.00\",\"inventory_turnover_rate\":\"0.3750\",\"sell_through_rate\":\"137.500000\"},{\"product_id\":16,\"product_name\":\"Nike Sneakers\",\"total_quantity\":\"20\",\"total_sales\":\"1900.00\",\"total_cost\":\"1400.00\",\"total_profit\":\"500.00\",\"inventory_turnover_rate\":\"0.4082\",\"sell_through_rate\":\"135.714286\"},{\"product_id\":17,\"product_name\":\"Beauty Soap\",\"total_quantity\":\"40\",\"total_sales\":\"800.00\",\"total_cost\":\"400.00\",\"total_profit\":\"400.00\",\"inventory_turnover_rate\":\"1.0000\",\"sell_through_rate\":\"200.000000\"},{\"product_id\":18,\"product_name\":\"Makeup kit\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.8000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":19,\"product_name\":\"Apple IPhone 15\",\"total_quantity\":\"10\",\"total_sales\":\"15000.00\",\"total_cost\":\"9000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.5000\",\"sell_through_rate\":\"166.666667\"},{\"product_id\":20,\"product_name\":\"Headphones\",\"total_quantity\":\"25\",\"total_sales\":\"1750.00\",\"total_cost\":\"1125.00\",\"total_profit\":\"625.00\",\"inventory_turnover_rate\":\"0.5556\",\"sell_through_rate\":\"155.555556\"},{\"product_id\":21,\"product_name\":\"Toyota Corolla\",\"total_quantity\":\"1\",\"total_sales\":\"14000.00\",\"total_cost\":\"12000.00\",\"total_profit\":\"2000.00\",\"inventory_turnover_rate\":\"0.2500\",\"sell_through_rate\":\"116.666667\"},{\"product_id\":23,\"product_name\":\"YSL Perfume\",\"total_quantity\":\"18\",\"total_sales\":\"2160.00\",\"total_cost\":\"1440.00\",\"total_profit\":\"720.00\",\"inventory_turnover_rate\":\"1.8000\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":24,\"product_name\":\"Vitamin Water\",\"total_quantity\":\"90\",\"total_sales\":\"2250.00\",\"total_cost\":\"900.00\",\"total_profit\":\"1350.00\",\"inventory_turnover_rate\":\"0.9000\",\"sell_through_rate\":\"250.000000\"},{\"product_id\":25,\"product_name\":\"Outdoor Hike Bag\",\"total_quantity\":\"15\",\"total_sales\":\"1350.00\",\"total_cost\":\"975.00\",\"total_profit\":\"375.00\",\"inventory_turnover_rate\":\"0.4286\",\"sell_through_rate\":\"138.461538\"},{\"product_id\":26,\"product_name\":\"Wrist watch\",\"total_quantity\":\"35\",\"total_sales\":\"12250.00\",\"total_cost\":\"7000.00\",\"total_profit\":\"5250.00\",\"inventory_turnover_rate\":\"0.8750\",\"sell_through_rate\":\"175.000000\"}]', '0.00', '0.00', '2.00', '0.36', '2.76', '0.00', '0.00', '24770.00', '-43120.00', '2024-11-17 18:25:29', '92660', 336, '24770.00', '67890.00', '-43120.00');
+(5, '2024-02-15', 58900.00, 24.53, '[{\"product_id\":11,\"product_name\":\"Samsung Galaxy\",\"total_quantity\":\"20\",\"total_sales\":\"3000.00\",\"total_cost\":\"2000.00\",\"total_profit\":\"1000.00\",\"inventory_turnover_rate\":\"1.3333\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":12,\"product_name\":\"Pilsner Beer\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":13,\"product_name\":\"Sony Camera\",\"total_quantity\":\"5\",\"total_sales\":\"375.00\",\"total_cost\":\"250.00\",\"total_profit\":\"125.00\",\"inventory_turnover_rate\":\"0.2000\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":14,\"product_name\":\"Chevrolet AWD\",\"total_quantity\":\"2\",\"total_sales\":\"36000.00\",\"total_cost\":\"30000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"120.000000\"},{\"product_id\":15,\"product_name\":\"Floral Dress\",\"total_quantity\":\"15\",\"total_sales\":\"825.00\",\"total_cost\":\"600.00\",\"total_profit\":\"225.00\",\"inventory_turnover_rate\":\"0.3750\",\"sell_through_rate\":\"137.500000\"},{\"product_id\":16,\"product_name\":\"Nike Sneakers\",\"total_quantity\":\"20\",\"total_sales\":\"1900.00\",\"total_cost\":\"1400.00\",\"total_profit\":\"500.00\",\"inventory_turnover_rate\":\"0.4082\",\"sell_through_rate\":\"135.714286\"},{\"product_id\":17,\"product_name\":\"Beauty Soap\",\"total_quantity\":\"40\",\"total_sales\":\"800.00\",\"total_cost\":\"400.00\",\"total_profit\":\"400.00\",\"inventory_turnover_rate\":\"1.0000\",\"sell_through_rate\":\"200.000000\"},{\"product_id\":18,\"product_name\":\"Makeup kit\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.8000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":19,\"product_name\":\"Apple IPhone 15\",\"total_quantity\":\"10\",\"total_sales\":\"15000.00\",\"total_cost\":\"9000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.5000\",\"sell_through_rate\":\"166.666667\"}]', 0.00, 0.00, 3.00, 0.26, 3.88, 0.00, 0.00, 14450.00, -30000.00, '2024-11-15 17:14:59', 58900, 152, 14450.00, 44450.00, -30000.00),
+(6, '2024-06-17', 92660.00, 26.73, '[{\"product_id\":11,\"product_name\":\"Samsung Galaxy\",\"total_quantity\":\"20\",\"total_sales\":\"3000.00\",\"total_cost\":\"2000.00\",\"total_profit\":\"1000.00\",\"inventory_turnover_rate\":\"1.3333\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":12,\"product_name\":\"Pilsner Beer\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":13,\"product_name\":\"Sony Camera\",\"total_quantity\":\"5\",\"total_sales\":\"375.00\",\"total_cost\":\"250.00\",\"total_profit\":\"125.00\",\"inventory_turnover_rate\":\"0.2000\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":14,\"product_name\":\"Chevrolet AWD\",\"total_quantity\":\"2\",\"total_sales\":\"36000.00\",\"total_cost\":\"30000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.4000\",\"sell_through_rate\":\"120.000000\"},{\"product_id\":15,\"product_name\":\"Floral Dress\",\"total_quantity\":\"15\",\"total_sales\":\"825.00\",\"total_cost\":\"600.00\",\"total_profit\":\"225.00\",\"inventory_turnover_rate\":\"0.3750\",\"sell_through_rate\":\"137.500000\"},{\"product_id\":16,\"product_name\":\"Nike Sneakers\",\"total_quantity\":\"20\",\"total_sales\":\"1900.00\",\"total_cost\":\"1400.00\",\"total_profit\":\"500.00\",\"inventory_turnover_rate\":\"0.4082\",\"sell_through_rate\":\"135.714286\"},{\"product_id\":17,\"product_name\":\"Beauty Soap\",\"total_quantity\":\"40\",\"total_sales\":\"800.00\",\"total_cost\":\"400.00\",\"total_profit\":\"400.00\",\"inventory_turnover_rate\":\"1.0000\",\"sell_through_rate\":\"200.000000\"},{\"product_id\":18,\"product_name\":\"Makeup kit\",\"total_quantity\":\"20\",\"total_sales\":\"500.00\",\"total_cost\":\"400.00\",\"total_profit\":\"100.00\",\"inventory_turnover_rate\":\"0.8000\",\"sell_through_rate\":\"125.000000\"},{\"product_id\":19,\"product_name\":\"Apple IPhone 15\",\"total_quantity\":\"10\",\"total_sales\":\"15000.00\",\"total_cost\":\"9000.00\",\"total_profit\":\"6000.00\",\"inventory_turnover_rate\":\"0.5000\",\"sell_through_rate\":\"166.666667\"},{\"product_id\":20,\"product_name\":\"Headphones\",\"total_quantity\":\"25\",\"total_sales\":\"1750.00\",\"total_cost\":\"1125.00\",\"total_profit\":\"625.00\",\"inventory_turnover_rate\":\"0.5556\",\"sell_through_rate\":\"155.555556\"},{\"product_id\":21,\"product_name\":\"Toyota Corolla\",\"total_quantity\":\"1\",\"total_sales\":\"14000.00\",\"total_cost\":\"12000.00\",\"total_profit\":\"2000.00\",\"inventory_turnover_rate\":\"0.2500\",\"sell_through_rate\":\"116.666667\"},{\"product_id\":23,\"product_name\":\"YSL Perfume\",\"total_quantity\":\"18\",\"total_sales\":\"2160.00\",\"total_cost\":\"1440.00\",\"total_profit\":\"720.00\",\"inventory_turnover_rate\":\"1.8000\",\"sell_through_rate\":\"150.000000\"},{\"product_id\":24,\"product_name\":\"Vitamin Water\",\"total_quantity\":\"90\",\"total_sales\":\"2250.00\",\"total_cost\":\"900.00\",\"total_profit\":\"1350.00\",\"inventory_turnover_rate\":\"0.9000\",\"sell_through_rate\":\"250.000000\"},{\"product_id\":25,\"product_name\":\"Outdoor Hike Bag\",\"total_quantity\":\"15\",\"total_sales\":\"1350.00\",\"total_cost\":\"975.00\",\"total_profit\":\"375.00\",\"inventory_turnover_rate\":\"0.4286\",\"sell_through_rate\":\"138.461538\"},{\"product_id\":26,\"product_name\":\"Wrist watch\",\"total_quantity\":\"35\",\"total_sales\":\"12250.00\",\"total_cost\":\"7000.00\",\"total_profit\":\"5250.00\",\"inventory_turnover_rate\":\"0.8750\",\"sell_through_rate\":\"175.000000\"}]', 0.00, 0.00, 2.50, 0.36, 4.76, 0.00, 0.00, 24770.00, -43120.00, '2024-11-17 18:25:29', 92660, 336, 24770.00, 67890.00, -43120.00);
-- --------------------------------------------------------
@@ -440,21 +419,21 @@ CREATE TABLE `sales` (
--
INSERT INTO `sales` (`sales_id`, `product_id`, `user_id`, `customer_id`, `staff_id`, `sales_qty`, `sale_date`, `sale_status`, `payment_status`, `name`, `product_type`, `sale_note`, `sales_price`) VALUES
-(10, 11, 2, 15, 13, 20, '2024-01-03 04:32:21', 'completed', 'paid', 'Samsung Galaxy', 'Goods', 'sold', '150.00'),
-(11, 18, 2, 16, 13, 20, '2024-02-03 19:49:49', 'completed', 'paid', 'Makeup kit', 'Goods', 'sold', '25.00'),
-(12, 17, 2, 17, 14, 40, '2024-03-13 18:50:49', 'completed', 'paid', 'Beauty Soap', 'Goods', 'sold', '20.00'),
-(13, 16, 2, 18, 15, 20, '2024-04-23 18:52:34', 'completed', 'paid', 'Nike Sneakers', 'Goods', 'sold', '95.00'),
-(14, 15, 2, 15, 16, 15, '2024-05-03 18:54:15', 'completed', 'paid', 'Floral Dress', 'Goods', 'sold', '55.00'),
-(15, 14, 2, 16, 13, 2, '2024-06-23 18:56:16', 'completed', 'paid', 'Chevrolet AWD', 'Goods', 'sold', '18000.00'),
-(16, 13, 2, 17, 17, 5, '2024-07-09 18:57:31', 'completed', 'paid', 'Sony Camera', 'Goods', 'SOLD', '75.00'),
-(17, 12, 2, 18, 15, 20, '2024-11-03 19:58:32', 'completed', 'paid', 'Pilsner Beer', 'Goods', 'sold', '25.00'),
-(18, 19, 2, 15, 13, 10, '2024-11-03 20:21:11', 'completed', 'paid', 'Apple IPhone 15', 'Goods', 'sold', '1500.00'),
-(19, 20, 2, 19, 18, 25, '2024-11-17 18:34:11', 'completed', 'paid', 'Headphones', 'Goods', 'sold', '75.00'),
-(20, 21, 2, 15, 19, 1, '2024-11-17 18:37:20', 'pending', '', 'Toyota Corolla', 'Goods', '', '14000.00'),
-(21, 23, 2, 20, 20, 18, '2024-11-17 18:46:57', 'pending', 'due', 'YSL Perfume', 'Goods', '', '120.00'),
-(22, 24, 2, 19, 21, 90, '2024-11-17 18:50:14', 'completed', 'paid', 'Vitamin Water', 'Goods', '', '25.00'),
-(23, 25, 2, 20, 20, 15, '2024-11-17 19:04:27', 'completed', 'paid', 'Outdoor Hike Bag', 'Goods', '', '90.00'),
-(24, 26, 2, 15, 18, 35, '2024-11-17 19:06:55', 'completed', 'paid', 'Wrist watch', 'Goods', '', '350.00');
+(10, 11, 2, 15, 13, 20, '2024-01-03 04:32:21', 'completed', 'paid', 'Samsung Galaxy', 'Goods', 'sold', 150.00),
+(11, 18, 2, 16, 13, 20, '2024-02-03 19:49:49', 'completed', 'paid', 'Makeup kit', 'Goods', 'sold', 25.00),
+(12, 17, 2, 17, 14, 40, '2024-03-13 18:50:49', 'completed', 'paid', 'Beauty Soap', 'Goods', 'sold', 20.00),
+(13, 16, 2, 18, 15, 20, '2024-04-23 18:52:34', 'completed', 'paid', 'Nike Sneakers', 'Goods', 'sold', 95.00),
+(14, 15, 2, 15, 16, 15, '2024-05-03 18:54:15', 'completed', 'paid', 'Floral Dress', 'Goods', 'sold', 55.00),
+(15, 14, 2, 16, 13, 2, '2024-06-23 18:56:16', 'completed', 'paid', 'Chevrolet AWD', 'Goods', 'sold', 18000.00),
+(16, 13, 2, 17, 17, 5, '2024-07-09 18:57:31', 'completed', 'paid', 'Sony Camera', 'Goods', 'SOLD', 75.00),
+(17, 12, 2, 18, 15, 20, '2024-11-03 19:58:32', 'completed', 'paid', 'Pilsner Beer', 'Goods', 'sold', 25.00),
+(18, 19, 2, 15, 13, 10, '2024-11-03 20:21:11', 'completed', 'paid', 'Apple IPhone 15', 'Goods', 'sold', 1500.00),
+(19, 20, 2, 19, 18, 25, '2024-11-17 18:34:11', 'completed', 'paid', 'Headphones', 'Goods', 'sold', 75.00),
+(20, 21, 2, 15, 19, 1, '2024-11-17 18:37:20', 'pending', '', 'Toyota Corolla', 'Goods', '', 14000.00),
+(21, 23, 2, 20, 20, 18, '2024-11-17 18:46:57', 'pending', 'due', 'YSL Perfume', 'Goods', '', 120.00),
+(22, 24, 2, 19, 21, 90, '2024-11-17 18:50:14', 'completed', 'paid', 'Vitamin Water', 'Goods', '', 25.00),
+(23, 25, 2, 20, 20, 15, '2024-11-17 19:04:27', 'completed', 'paid', 'Outdoor Hike Bag', 'Goods', '', 90.00),
+(24, 26, 2, 15, 18, 35, '2024-11-17 19:06:55', 'completed', 'paid', 'Wrist watch', 'Goods', '', 350.00);
-- --------------------------------------------------------
@@ -491,11 +470,11 @@ CREATE TABLE `sales_analytics` (
--
INSERT INTO `sales_analytics` (`id`, `date`, `revenue`, `profit_margin`, `year_over_year_growth`, `cost_of_selling`, `inventory_turnover_rate`, `stock_to_sales_ratio`, `sell_through_rate`, `gross_margin_by_category`, `net_margin_by_category`, `gross_margin`, `net_margin`, `created_at`, `total_sales`, `total_quantity`, `total_profit`, `total_expenses`, `net_profit`, `revenue_by_category`, `most_sold_product_id`) VALUES
-(9, '2024-06-12', '30000.00', '33.33', '0.00', '0.00', '150.00', '0.67', '999.99', '0.00', '0.00', '2000.00', '1000.00', '2024-11-03 19:17:23', '3000.00', 20, '99.00', '0.00', '0.00', '0.00', 0),
-(10, '2024-07-12', '43900.00', '19.25', '0.00', '0.00', '309.15', '0.32', '999.99', '0.00', '0.00', '35450.00', '8450.00', '2024-11-03 20:03:18', '43900.00', 142, '99.00', '0.00', '0.00', '0.00', 0),
-(11, '2024-08-24', '58900.00', '24.53', '0.00', '0.00', '387.50', '0.26', '999.99', '0.00', '0.00', '44450.00', '14450.00', '2024-11-04 07:07:40', '58900.00', 152, '99.00', '0.00', '0.00', '0.00', 0),
-(18, '2024-11-02', '58900.00', '24.53', '0.00', '0.00', '387.50', '0.26', '3.88', '0.00', '0.00', '44450.00', '14450.00', '2024-11-17 18:25:40', '58900.00', 152, '14450.00', '0.00', '0.00', '0.00', 0),
-(19, '2024-11-02', '92660.00', '26.73', '0.00', '0.00', '275.77', '0.36', '2.76', '0.00', '0.00', '67890.00', '24770.00', '2024-11-17 19:25:31', '92660.00', 336, '24770.00', '0.00', '0.00', '0.00', 0);
+(9, '2024-06-12', 30000.00, 33.33, 0.00, 0.00, 150.00, 0.67, 999.99, 0.00, 0.00, 2000.00, 1000.00, '2024-11-03 19:17:23', 3000.00, 20, 99.00, 0.00, 0.00, 0.00, 0),
+(10, '2024-07-12', 43900.00, 19.25, 0.00, 0.00, 309.15, 0.32, 999.99, 0.00, 0.00, 35450.00, 8450.00, '2024-11-03 20:03:18', 43900.00, 142, 99.00, 0.00, 0.00, 0.00, 0),
+(11, '2024-08-24', 58900.00, 24.53, 0.00, 0.00, 387.50, 0.26, 999.99, 0.00, 0.00, 44450.00, 14450.00, '2024-11-04 07:07:40', 58900.00, 152, 99.00, 0.00, 0.00, 0.00, 0),
+(18, '2024-11-02', 58900.00, 24.53, 0.00, 0.00, 387.50, 0.26, 3.88, 0.00, 0.00, 44450.00, 14450.00, '2024-11-17 18:25:40', 58900.00, 152, 14450.00, 0.00, 0.00, 0.00, 0),
+(19, '2024-11-02', 92660.00, 26.73, 0.00, 0.00, 275.77, 0.36, 2.76, 0.00, 0.00, 67890.00, 24770.00, '2024-11-17 19:25:31', 92660.00, 336, 24770.00, 0.00, 0.00, 0.00, 0);
-- --------------------------------------------------------
@@ -543,12 +522,7 @@ CREATE TABLE `subscriptions` (
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`is_free_trial_used` tinyint(1) DEFAULT 0
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
-
---
--- Dumping data for table `subscriptions`
---
-
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
-- --------------------------------------------------------
@@ -594,15 +568,16 @@ CREATE TABLE `users` (
`user_image` varchar(255) NOT NULL,
`phone` varchar(20) NOT NULL,
`location` varchar(255) NOT NULL,
- `google_id` varchar(255) DEFAULT NULL
+ `google_id` varchar(255) DEFAULT NULL,
+ `status` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
--
-- Dumping data for table `users`
--
-INSERT INTO `users` (`id`, `username`, `email`, `password`, `is_active`, `role`, `date`, `confirmpassword`, `user_image`, `phone`, `location`, `google_id`) VALUES
-(2, 'Megastores', 'olphemie@hotmail.com', '$2y$10$X8uPrpPbouNMJNqhZvfKMOk.cxbTO0Cmqm2UIj9Y2r/f3wEyXA2sm', 0, 'sales', '2024-11-03 03:08:56', 'mega1234', 'uploads/user/1730604250_1730520358_1726523112_20230712_130458.jpg', '', 'Texas', NULL);
+INSERT INTO `users` (`id`, `username`, `email`, `password`, `is_active`, `role`, `date`, `confirmpassword`, `user_image`, `phone`, `location`, `google_id`, `status`) VALUES
+(2, 'Megastores', 'olphemie@hotmail.com', '$2y$10$X8uPrpPbouNMJNqhZvfKMOk.cxbTO0Cmqm2UIj9Y2r/f3wEyXA2sm', 0, 'sales', '2024-11-03 03:08:56', 'mega1234', 'uploads/user/1730604250_1730520358_1726523112_20230712_130458.jpg', '', 'Texas', NULL, 0);
--
-- Indexes for dumped tables
@@ -622,6 +597,12 @@ ALTER TABLE `categories`
ADD PRIMARY KEY (`category_id`),
ADD UNIQUE KEY `name` (`category_name`);
+--
+-- Indexes for table `contacts`
+--
+ALTER TABLE `contacts`
+ ADD PRIMARY KEY (`id`);
+
--
-- Indexes for table `customers`
--
@@ -747,6 +728,12 @@ ALTER TABLE `activation_codes`
ALTER TABLE `categories`
MODIFY `category_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;
+--
+-- AUTO_INCREMENT for table `contacts`
+--
+ALTER TABLE `contacts`
+ MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
+
--
-- AUTO_INCREMENT for table `customers`
--
diff --git a/feedback.php b/feedback.php
index b6e8cffe..a748e4cd 100644
--- a/feedback.php
+++ b/feedback.php
@@ -1,20 +1,18 @@
";
// Initialize variables and error array
$name = $email = $phone = $message = '';
@@ -22,8 +20,7 @@
// Check if the form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
- // Debugging output
- echo "POST request received.
";
+
// Sanitize and assign input values
$name = isset($_POST['name']) ? trim($_POST['name']) : '';
@@ -52,8 +49,7 @@
// Execute the query and check for success
if ($stmt->execute()) {
- // Debugging output
- echo "Database entry successful.
";
+
// Set up PHPMailer for sending the email
$mail = new PHPMailer(true);
diff --git a/index.html b/index.html
index 83fa97af..465a9368 100644
--- a/index.html
+++ b/index.html
@@ -90,9 +90,9 @@
SalesPilot
+
@@ -136,8 +136,7 @@ Sales Analytics
Management Systems
-
Real-time monitoring and updating of data, product and services to ensure accurate management levels, optimizing performance efficiency.
- Analyzing data to derive insights, improve decision-making, and optimized for enhanced operational efficiency.
+
As a full-stack developer, we design and build diverse management systems, including eCommerce platforms, ticketing systems, chatrooms, real estate solutions, inventory management, learning management systems (LMS), HR and payroll systems, customer relationship management (CRM), cryptocurrency payment gateways, and event management solutions. Our focus is on real-time data updates to ensure accuracy, optimize performance, and drive operational efficiency.