Version: Alpha-Phase
Maintained by: ALmax (Ali Mustapha Shettima)
Date Started: ποΈ 28 June 2020
I'm ALmax β a brother, a builder, a food lover, a bold mind in motion. I craft code not just to make things work, but to make meaning. I don't chase perfection. I chase impact, clarity, and systems that empower people, especially those left out of the global tech narrative.
ALmax isnβt just a username. Itβs an ecosystem, a mission, and an ongoing commitment to building useful, human-centered, adaptable technology. From software to agriculture, from business tools to humanitarian tech β I move with purpose and I code with love. π»β€οΈπ
ALmax is not just a software project. It's an ecosystem of systems and tools designed to empower individuals, businesses, and communities through digital solutions and Innovations of young minds. It brings together business logic, artificial intelligence, human resource flows, market dynamics, and real-time communication β all into one platform.
To build a digital-first world where tools are accessible, localised, and impactful β with no hidden magic. Every action should feel transparent, empowering, and clearly yours.
"Code your dreams into reality." ALmax
ALmax is structured around three initial pillars, each of which has grown into full-fledged systems:
As of now, ALmax includes and continues to grow with the following:
#1234) that auto-links and previews items.One of ALmaxβs most human-centered features β connect the buyer to the seller instantly.
Chat with Seller.#product_id like #1234.
This is not just UI β itβs UX with intention. Built to mimic real life, where questions and deals happen in conversation.
| # | Feature / Module | Status | Notes |
|---|---|---|---|
| 1 | Task Management | β V1 Done | User, role, dept-based tasking. |
| 2 | Localization | β Stable | English, Arabic, Frech & Spanish. |
| 3 | Themes | β V1 Done | 12 theme 6 color 6 images . |
| 4 | Product Management | β V1 Done | Quantity, Size, Color, Variant... |
| 5 | Sales Management | β V1 Done | Sale Management and Analytics. |
| 6 | Market βοΈ Chat Integration | β Stable | From product to chat and back. |
| 7 | Amigo AI | β Stable | Core chat, auto-tag, actions. |
| 8 | Amigo Chat | β V1 Done | Product linking, vendor chat. |
| 9 | Leave Management | β V1 Done | Rules, approval by role/unit. |
| 10 | Role Management | β Done | Access matrix, scoped roles. |
| 11 | Calendar & Events | β V1 Done | Public, team, private events. |
| 12 | Client To-Do + Calendar Sync | β Stable | Reminders + team sync. |
| 13 | Web2 Payments (NGN + USD) | β Stable | Using Flutterwave SDK. |
| 14 | Currency Exchange (NGNβUSD) | β Stable | Real-time via API. |
| 15 | Empowerment Button System | β Done | Request + accept 2-way system. |
| 16 | License Model for * Software | β Stable | Key-based activation system. |
| 17 | Event and Ticket Management | β V1 Done | Event and Ticket Management. |
| 18 | Vehicle Management | β Stable | vehicle, driver, status Management. |
| 19 | Keyboard shortcut keys | β V1 Donne | Easy navigation. |
| 20 | Fullscreen modal toggle | β V1 Donne | For good user expirience. |
| 21 | Email Notification | β V1 Donne | For update and feed back. |
| 22 | Custom Encryption | β V1 Donne | ALmax Encryption read and write. |
| 23 | shortcut keys | β V1 Donne | for easy navigation. eg ALt + A = Amigo Chat |
| 24 | x search | β V1 Donne | accessible any where using alt+s to index any thing by name. |
| 25 | System Health & Performance Monitor (Admin Only) | β V1 Donne | Monitor network request and system performance using system() |
| 26 | Data Import/Export Tools | β V1 Donne | Staff upload, dept and other & record download (Staff, sales ...) |
| 27 | Subscription Plans / Client Tier System | β V1 Donne | Multi plan and price to activate ALmax feature for client |
| 28 | Access Logs for Amigo AI | β Stable | Amigo Profile and Logs |
| 26 | Grade Level | β Stable | Staff Grade Levels Management |
| 26 | Department Management | β V1 Donne | Manage Department and its Units |
| 26 | Unit Management | β V1 Donne | Staff Unit Organization |
| 26 | Leave Roster | β V1 Donne | Leave roster management |
A robust system for assigning, tracking, and reviewing tasks based on user role and department. Supports due dates, priority levels, status tracking, and delegation. Ideal for team-based collaboration and workflow clarity.
ALmax is multilingual, supporting English, Arabic, French, and Spanish. Translations are dynamic and context-aware, with UI elements adapting to RTL for Arabic. Ready for expansion to other regions.
Offers 12 themes: 6 color-based and 6 background image-based. Users can switch themes instantly to personalize their experience. Stored in preferences for persistence across sessions.
Vendors can define products with quantity, size, color, variants, and inventory levels. Integrated with sales, reservations, and tracking. Multi-image support and rich descriptions enabled.
Complete flow from order to analytics. Tracks buyers, sales trends, units sold, payment method, and discounts. Admin and vendors have dashboards to monitor performance.
Clicking a product in the market opens the chat with vendor; vendors can reply and link directly back to product. Enables real-time support, negotiation, and upselling without leaving context.
Built-in smart assistant for product help, task automation, and system navigation. Can auto-tag messages, suggest actions, and even populate fields using inferred context.
Rich chat with product tagging, emoji, file support, and vendor-buyer logic. Tightly integrated into the market and task systems. Supports Livewire and real-time broadcasting.
Handles staff leave with customizable rules. Approval goes through unit β HOD β HR β MD. Supports multiple leave types (annual, sick, maternity, etc.) with separation logic.
Powerful access matrix lets you define user scopes, permissions, and hierarchy. Roles can be limited to certain modules or client instances.
A full calendar system with three scopes: public, team, and private. Users can invite others, set reminders, and color-code events.
Each client can manage to-dos linked to events or reminders. Syncs to the main calendar with scoped visibility. Helps track obligations and project progress.
Payments handled via Flutterwave PHP SDK. Currency selection auto-detected based on region. Supports card and account transfers.
Real-time rate fetch from free API. Used during top-up, checkout, and inter-currency transfers. Fully cached and rate-monitored.
Two-way system where users can request or offer help, creating bonds across the platform. Accept/reject system prevents spam. Boosts social engagement.
Each software uploaded via ALmax API is assigned a unique license. Users activate software by submitting this key. Supports expirable and lifetime models.
Organize events, sell tickets, and manage attendance. Each event can have types, access levels, tickets with QR codes, and payment methods.
Track vehicles, drivers, routes, and statuses (available, busy, in repair). Integrated with shipping and delivery flow.
Speed up workflow with commands like Alt+A (open Amigo), Alt+S (search modal). Stored per user preference.
Improves readability and focus by maximizing modals like forms or detail pages. One-click toggle in the header of every modal.
System-generated alerts for orders, tasks, KYC, and reminders. Styled HTML format for branding. Queue-enabled for performance.
ALmax uses its own lightweight encryption scheme to encode/decode sensitive content like API keys, license codes, and tokens.
Duplication of shortcut keys, noted for general UI navigation. Covers Amigo, Modals, Search, Sidebar toggles.
A floating search modal activated via Alt+S. Users can search across tasks, products, users, clients, etc. Super fast and fuzzy-matched.
Admins can monitor app status, queue performance, system uptime, and logs. Uses system() and Laravel Telescope (optional) to expose backend health.
Clients can import/export Excel files for bulk operations. Supports staff, departments, clients, product inventory, etc. With pre-validation and live preview.
Enables monetization and feature limits. Each client is assigned a plan (Free, Pro, Biz). Controls access to features based on payment and plan level.
Each interaction with Amigo is recorded: user ID, prompt, action, and time. Logs can be accessed by admin or user for review. Supports future analytics.
| Task / Feature | status | Priority | Notes |
|---|---|---|---|
| Shipping Route Model | 80% | π₯ High | Route β City cost logic setup. |
| KYC Compliance | 40% | π₯ High | Required before biz creation. |
| Web3 Payments (USDT + SOL) | 0% | π₯ High | Phase 2. USDT on Solana. |
| Local + International Tracking | 45% | π Medium | Shipment status with checkpoints. |
| Badge System for Profiles | 30% | β³ Low | Reward users by activity. |
| Regional Activation Control | 80% | π Medium | Limit features by geo. |
| Inbox Messaging System | 95% | β³ Low | User β Client comms. |
| Product Reservation & Restrictions | 99% | π Medium | Geo + client-based lockout. |
| Client Billing & Invoicing Module | 0% | π₯ High | |
| Dynamic Forms Builder (HR) | 0% | π Medium |
ALmax runs on a carefully chosen, scalable, and flexible full-stack system β optimized for rapid development, clean architecture, and human-centered interactivity.
| Tech | Purpose |
|---|---|
| Laravel | Primary framework. Clean MVC structure, robust ecosystem. |
| Livewire | Real-time, reactive UI without full SPA complexity. |
| Jetstream | Secure Auth and Session Management. |
| Laravel Eloquent | Elegant ORM for relational database logic. |
| Laravel Notification | Email, database, and in-app alert system. |
| Bootstrap | Responsive layout, form design, UI scaffolding. |
| AlpineJS | Minimal JavaScript interactivity. Pairs well with Livewire. |
| LivewireAlert | SweetAlert2-powered alert integration for Livewire. |
| FullCalendarJS | Advanced calendar views and event handling. |
| TinyMCE | Rich text editor for inputs, descriptions, feedbacks. |
| Chart.js | Analytics dashboard and metric visualization. |
| Font Awesome | Iconography for buttons, menus, feedback. |
| Tech / API | Purpose |
|---|---|
| Flutterwave SDK (PHP) | Web2 Payments: NGN and USD handling. |
| Exchange Rate API | Real-time conversion for NGN β USD. |
| Custom Route Resolver | Used in shipping to compute cost via city points. |
| Hash-based ID Encoder (ALmax Hash) | Chat product-tag references (#1234) logic. |
hash = dexhex(a^2 + 2ab + b^2) where decoded hash = sqrt(hexdec($hash)) - b where a is data/value to encode and b is ALmax Constant
"Fast to build. Easy to understand. Powerful when extended." ALmax
π ALmax DriftNet
ALmax DriftNet is a Smart Hybrid Delivery and Logistics System built into the ALmax Ecosystem.
It is designed for modern shipping networks, courier logistics, and future transport platforms (Uber-style).
DriftNet introduces intelligent route management, city-aware delivery calculations, weight-based cost scaling, and multi-point convergence to optimize delivery and reduce shipping chaos.
βDeliver anything, from anywhere, through anywhere β intelligently.β
DriftNet aims to become the logistics backbone of ALmax, capable of powering:
| Feature | Description |
|---|---|
| π£οΈ Route Management | Define routes with multiple cities/states. Custom cost at each hop. |
| ποΈ City-Based Address System | Fully geo-aware via Country β State β City structure. |
| βοΈ Weight-Based Pricing | Smart helper calculates delivery cost based on weight and units. |
| π§ Merge Point Intelligence | Supports hub-spoke delivery (e.g. Abuja as merge point). |
| π Route Matching Engine | Finds best route for user address + order size. |
| π¦ Multi-Item Packaging | Simulate AliExpress-style smart packaging logic for scattered items. |
| π§ Future-Ready Graph Routing | Graph logic support for optimal delivery paths. |
| π Transport-Ready Engine | Easily switch logic to passenger-based movement (Uber-style). |
Country, State, CityRouteRoutePointShippingAddressMergeCenter (Optional)calculate_shipping_cost(address_id, weight, unit, client_id)multi_item_route_merge(order)Scenario:
User in Maiduguri places an order:
Instead of 3 couriers, DriftNet can:
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
},
"files": [
"app/Helpers/helper.php",
"app/Helpers/Laguages/English.php",
"app/Helpers/Laguages/French.php",
"app/Helpers/Laguages/Spanish.php"
]
}
let create a syntax of Laguage translation. @helper.php we have
\_app(\$key)which global function withig the application @Auth::user()->language eg English, Spanish @foreach /English.php, French.php * @This Is How I Build My Own System Of Localization The\_app(\$key)collect Key from its parameter then Normalize the key to lowercase which make case-insensitive lookup, the function then Get the user's language fromAuth::user()->languagewhich is in a property ofUser::Class(default to 'English' if none is set), then it Cache key based on language, by first Checking if translations are cached, If not cached, load the language file and cache it usingapp_path("Helpers/Languages/{\$language}.php"), this Define the path to language files and we will then Load the language file based on the user's language preference, Cache the translations for 24 hours to help speed the translation.we then Check if the normalized key exists in the translations and Fall back to English if the translation is missing in the current language, we will finally Return the translation for the key in the {$language} value and Fail back to English and handle exeption as:
/**
* Format a key like 'axx_byy_c' to 'Axx Byy C'
*/
@This Wors in My Application Every Fast and Cool.
if (!function_exists('_app')) {
function _app($key)
{
// Normalize the key to lowercase for case-insensitive lookup
$normalizedKey = strtolower($key);
// Get the user's language (default to 'English' if none is set)
$language = Auth::user()->language ?? 'English';
// Cache key based on language
$cacheKey = 'translations_' . $language;
// Check if translations are cached
$translations = cache()->get($cacheKey);
// If not cached, load the language file and cache it
if (!$translations) {
// Define the path to language files
$languageFilePath = app_path("Helpers/Languages/{$language}.php");
// Load the language file based on the user's language preference
if (file_exists($languageFilePath)) {
$translations = require $languageFilePath;
}
// Cache the translations for 24 hours
cache()->put($cacheKey, $translations, 24 * 60); // 24 hours
}
// Check if the normalized key exists in the translations (case-insensitive)
if (array_key_exists($normalizedKey, $translations)) {
return $translations[$normalizedKey];
}
// Fall back to English if the translation is missing in the current language
$translations = cache()->get('translations_English');
if (!$translations) {
$translations = require app_path('Helpers/Languages/English.php');
cache()->put('translations_English', $translations, 24 * 60); // Cache English translations
}
// Return the translation for the key in English (fall back)
return ($translations[$normalizedKey] ?? formatKey($key)); // Format the key if not found in English
}
/**
* Format a key like 'axx_byy_c' to 'Axx Byy C'
*/
function formatKey($key)
{
// Convert snake_case to Title Case (e.g., axx_byy_c -> Axx Byy C)
$formattedKey = ucwords(str_replace('_', ' ', $key));
return $formattedKey;
}
}
if (!function_exists('email')) {
/**
* Send a quick email to one or many recipients.
*
* @param array|string $emails
* @param string $content HTML or plain content
* @param string|null $subject
* @return void
*/
function email($emails, $content, $subject = 'ALmax Notification')
{
$emails = Arr::wrap($emails);
Mail::send([], [], function ($message) use ($emails, $content, $subject) {
$message->to($emails)->subject($subject);
$html = <<<HTML
<div style="width: 90%; margin: auto; font-family: Arial, sans-serif; background-color: #001; color: #e6e6ef; padding: 20px; border-radius: 10px; border: 1px solid #0d1117;">
<div style="display: flex; gap: 8px; margin-bottom: 15px;">
<span style="width: 12px; height: 12px; border-radius: 50%; background-color: #ff5f57;"></span>
<span style="width: 12px; height: 12px; border-radius: 50%; background-color: #ffbd2e;"></span>
<span style="width: 12px; height: 12px; border-radius: 50%; background-color: #28c941;"></span>
<span style="font-size: 16px; color: rgb(255, 255, 255); font-weight: 900; right: 0; border-block: 4px double white; margin-left: auto; text-align:right;"> ALmax π </span>
</div>
<h2 style="margin: 0 0 10px;">{$subject}</h2>
<hr>
<div style="font-size: 14px; color: rgb(255, 255, 255); background-color: #ddd; padding: 5px; border-radius: 10px;">{$content}</div>
</div>
HTML;
$message->html($html, 'text/html');
});
}
}
(read() and write())
if (!function_exists('write')) {
/**
* Encrypts the given value.
*
* @param mixed $value The value to be encrypted.
* @return string The encrypted string.
*/
function write($value)
{
$key = env('READ_AND_WRITE', null);
if (!$key) {
throw new Exception('Encryption key not set in .env');
}
$keyHash = hash('sha256', $key);
return Crypt::encrypt($value, $keyHash);
}
}
if (!function_exists('read')) {
/**
* Decrypts the given encrypted value.
*
* @param string $value The encrypted string.
* @return mixed The decrypted value.
*/
function read($value)
{
$key = env('READ_AND_WRITE', null);
if (!$key) {
throw new Exception('Decryption key not set in .env');
}
$keyHash = hash('sha256', $key);
return Crypt::decrypt($value, $keyHash);
}
}
βDocumentation is not a chore. Itβs the future developerβs best friend β and We build for the future.β ALmax