Skip to content
Back to experience

April 2025 · Construction Industrielle Africaine (C.I.A) · Casablanca, Morocco

Internship Project: C.I.A STOCK

Complete real-time and offline inventory management ecosystem

Designed and developed C.I.A STOCK, an inventory management system for industrial consumables, bringing desktop administration and mobile stock operations into one solution.

C.I.A STOCK inventory management system shown on desktop and mobile

Architecture

System architecture

The project is based on an asynchronous distributed client-server architecture, built for maximum resilience against internet instability typical in remote workshops and work sites.

01 / CLIENTS

Applications

Electron · React

Flutter · QR scan

02 / NETWORK

Secure network

Connects the mobile app to the local PC server over LAN or VPN.

TailscaleWireGuard

03 / API

Application server

The API receives requests and applies inventory business rules.

PythonFastAPI

04 / DATA

Database

Stores products, stock movements, users, and configuration.

MongoDBMotor

05 / RESPONSE

Results return to the interfaces

After persistence, the desktop app refreshes stock; the report describes synchronization to the interface via SSE.

DATA PIPELINE

From scan to stock update

When a device is connected, each stock movement follows these steps.

  1. STEP 01

    Capture

    The mobile app scans the product QR code and prepares the stock operation.

  2. STEP 02

    Transport

    The request reaches the API over the local network or Tailscale VPN.

  3. STEP 03

    Processing

    FastAPI validates the operation, checks business rules, and calculates product status.

  4. STEP 04

    Persistence

    MongoDB records the product or stock movement through the asynchronous Motor driver.

  5. STEP 05

    Update

    The desktop interface reflects the new stock state; synchronization is described via SSE.

OFFLINE PATH

When the network is unavailable

The report describes local storage on mobile: operations are kept offline and synchronized when the connection returns.

Overview

Internship Project: C.I.A STOCK

The C.I.A STOCK project consists of the design and development of a complete software ecosystem for inventory management at Construction Industrielle Africaine (C.I.A). The primary goal is to modernize technical consumables management (industrial gas, welding electrodes, tools) which was previously manual, in order to eliminate stock-outs that paralyze heavy industrial work sites (mines, cement plants, civil engineering sites).

The system shifts the company from a traditional paper-based flow to a smooth, secure, and zero-paper digital solution.

PERSISTENCE

Managed data

The report identifies four main MongoDB collections:

  • Products & thresholds
  • Stock movements
  • Users & roles
  • Configuration

Tech Stack

Tech Stack Breakdown

01

Desktop application

Cross-platform desktop console built with Electron, React (Vite), and Tailwind CSS for administration, inventory dashboards, and product management.

ElectronReactViteTailwind CSS

02

Mobile application

Cross-platform mobile application development (Android/iOS) with a single codebase for native performance on the field.

Flutter

03

Backend API

High-performance async backend utilizing Python async/await to handle load peaks and auto-generate OpenAPI/Swagger documentation.

PythonFastAPI

04

Database

NoSQL database selected for schema flexibility, ideal for indexing highly diverse technical items with different specifications.

MongoDBMotor

05

Secure connectivity

Tailscale VPN connects the mobile terminal to the local PC server; communications are encrypted with WireGuard.

TailscaleWireGuard

06

Document generation

Automated generation of branded C.I.A purchase orders in PDF format using Python.

PDFPython

Innovations & AI

Innovations & AI

01

Resilience & Offline Mode

Local storage cache enabling inventory scanning and registration offline, with automatic synchronization upon reconnecting.

02

Industrial Ergonomics

Dark mode designed for dim warehouses and large incremental touch buttons usable with protective work gloves.

03

Zero Trust Mesh Security

End-to-end encrypted tunnels. Simple QR code scan configuration for field operators to pair devices instantly.

04

Smart Critical Thresholds

Real-time stock status calculations (Optimal, Critical, Out of Stock) with automatic check-out blocking and urgent alert systems.

05

AI & Industry 4.0 Vision

Conceptualized AI integrations: Time-series demand forecasting (LSTM/Prophet), computer vision visual item identification (YOLO/ResNet), predictive maintenance on heavy machinery, and LLM-powered natural language inventory assistant.

Back to experience