Skip to content

Repository files navigation

✈️ RAM Maintenance Dashboard

Modern Aircraft Engine Reliability & Maintenance Analytics

🇬🇧 English | 🇫🇷 Français

React TypeScript Vite Tailwind CSS License: MIT

Live Demo · Report Bug · Request Feature


🇬🇧 English

🌟 Overview

A data-driven dashboard for aircraft engine maintenance management, designed to support condition-based maintenance workflows with real-time analytics, interactive visualizations, and actionable insights for maintenance teams.

✨ Key Features

  • 📊 Interactive Fleet Dashboard - Real-time monitoring of engine status, inspection intervals, and critical parts
  • 🔍 Advanced Analytics - Data visualization with Recharts and Chart.js for trend analysis
  • 🚀 Decision Assistant - AI-powered maintenance recommendation system
  • 📱 Responsive Design - Modern UI with Tailwind CSS and shadcn/ui components
  • Real-time Updates - WebSocket integration for live data synchronization
  • 📈 Export Capabilities - CSV export for reporting and analysis

🛠️ Tech Stack

Frontend

  • Framework: React 18 + TypeScript
  • Build Tool: Vite 5
  • Styling: Tailwind CSS + shadcn/ui
  • State Management: TanStack Query (React Query)
  • Charts: Recharts + Chart.js
  • Routing: Wouter

Backend

  • Runtime: Node.js + Express
  • Language: TypeScript
  • Database: PostgreSQL + Drizzle ORM
  • Real-time: WebSocket (ws)
  • Session Management: Express Session

📁 Project Structure

RAMMaintenanceDashboard/
├── client/ # React frontend (Vite)
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utilities
│ │ └── pages/ # Route pages
│ └── vite.config.ts # Vite configuration
├── server/ # Express backend
│ ├── index.ts # Server entry point
│ └── routes.ts # API routes
├── shared/ # Shared types and utilities
│ └── decisionRules.ts # Business logic
└── vercel.json # Vercel deployment config

🚀 Getting Started

Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL database

Installation

  1. Clone the repository

git clone https://github.com/TheYassir98/RAMMaintenanceDashboard.git cd RAMMaintenanceDashboard

  1. Install dependencies

Install root dependencies npm install

Install client dependencies cd client npm install cd ..

  1. Environment Setup

Create a .env file in the root: DATABASE_URL=postgresql://user:password@localhost:5432/ram_maintenance SESSION_SECRET=your-secret-key PORT=5000

  1. Run Development Servers

Terminal 1 - Backend: npm run dev Terminal 2 - Frontend: cd client npm run dev

  1. Open your browser

Navigate to http://localhost:5173


📦 Build & Deployment

Build for Production

Build client cd client npm run build

Deploy to Vercel

The project is configured for Vercel deployment: Deploy using Vercel CLI vercel --prod

Or connect your GitHub repository to Vercel for automatic deployments.

Vercel Configuration:

  • Build Command: cd client && npm install && npm run build
  • Output Directory: client/dist
  • Framework: Vite

🎯 Features in Detail

Fleet Management

  • Real-time engine status monitoring
  • Inspection interval tracking
  • Critical parts management
  • Last inspection history

Analytics & Reporting

  • Interactive data visualizations
  • Trend analysis
  • Performance metrics
  • CSV export functionality

Decision Support

  • Rule-based maintenance recommendations
  • Predictive analytics
  • Risk assessment
  • Action prioritization

🗺️ Roadmap

  • Data import pipelines for engine inspections
  • Machine learning-based predictive maintenance
  • Role-based access control (RBAC)
  • Audit logging system
  • Mobile app (React Native)
  • Multi-language support

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


👨‍💻 Author

Yassir El Ouahabi Khirat


🙏 Acknowledgments


Made with ❤️ for the aviation maintenance community

⭐ Star this repo if you find it helpful!


🇫🇷 Français

🌟 Aperçu

Un tableau de bord analytique pour la gestion de la maintenance des moteurs d'avion, conçu pour prendre en charge les flux de travail de maintenance conditionnelle avec des analyses en temps réel, des visualisations interactives et des insights exploitables pour les équipes de maintenance.

✨ Fonctionnalités Principales

  • 📊 Tableau de Bord Interactif - Surveillance en temps réel de l'état des moteurs, intervalles d'inspection et pièces critiques
  • 🔍 Analyses Avancées - Visualisation des données avec Recharts et Chart.js pour l'analyse des tendances
  • 🚀 Assistant de Décision - Système de recommandations de maintenance basé sur l'IA
  • 📱 Design Responsive - Interface moderne avec Tailwind CSS et composants shadcn/ui
  • Mises à Jour en Temps Réel - Intégration WebSocket pour la synchronisation des données en direct
  • 📈 Capacités d'Export - Export CSV pour les rapports et analyses

🛠️ Stack Technique

Frontend

  • Framework: React 18 + TypeScript
  • Outil de Build: Vite 5
  • Styling: Tailwind CSS + shadcn/ui
  • Gestion d'État: TanStack Query (React Query)
  • Graphiques: Recharts + Chart.js
  • Routing: Wouter

Backend

  • Runtime: Node.js + Express
  • Langage: TypeScript
  • Base de Données: PostgreSQL + Drizzle ORM
  • Temps Réel: WebSocket (ws)
  • Gestion de Session: Express Session

📁 Structure du Projet

RAMMaintenanceDashboard/
├── client/ # Frontend React (Vite)
│ ├── src/
│ │ ├── components/ # Composants UI
│ │ ├── hooks/ # Hooks React personnalisés
│ │ ├── lib/ # Utilitaires
│ │ └── pages/ # Pages de routes
│ └── vite.config.ts # Configuration Vite
├── server/ # Backend Express
│ ├── index.ts # Point d'entrée du serveur
│ └── routes.ts # Routes API
├── shared/ # Types et utilitaires partagés
│ └── decisionRules.ts # Logique métier
└── vercel.json # Configuration de déploiement Vercel

text


🚀 Démarrage

Prérequis

  • Node.js 18+ et npm
  • Base de données PostgreSQL

Installation

  1. Cloner le dépôt git clone https://github.com/TheYassir98/RAMMaintenanceDashboard.git cd RAMMaintenanceDashboard

  2. Installer les dépendances Installer les dépendances racine npm install

Installer les dépendances du client cd client npm install cd ..

  1. Configuration de l'Environnement

Créer un fichier .env à la racine : DATABASE_URL=postgresql://user:password@localhost:5432/ram_maintenance SESSION_SECRET=your-secret-key PORT=5000

  1. Lancer les Serveurs de Développement

Terminal 1 - Backend: npm run dev

Terminal 2 - Frontend: cd client npm run dev

  1. Ouvrir votre navigateur

Naviguer vers http://localhost:5173


📦 Build & Déploiement

Build pour la Production

Build du client cd client npm run build

Déployer sur Vercel

Le projet est configuré pour un déploiement Vercel : Déployer avec Vercel CLI vercel --prod

Ou connectez votre dépôt GitHub à Vercel pour des déploiements automatiques.

Configuration Vercel:

  • Commande de Build: cd client && npm install && npm run build
  • Répertoire de Sortie: client/dist
  • Framework: Vite

🎯 Fonctionnalités Détaillées

Gestion de Flotte

  • Surveillance en temps réel de l'état des moteurs
  • Suivi des intervalles d'inspection
  • Gestion des pièces critiques
  • Historique des dernières inspections

Analyses & Rapports

  • Visualisations de données interactives
  • Analyse des tendances
  • Métriques de performance
  • Fonctionnalité d'export CSV

Support à la Décision

  • Recommandations de maintenance basées sur des règles
  • Analyses prédictives
  • Évaluation des risques
  • Priorisation des actions

🗺️ Feuille de Route

  • Pipelines d'import de données pour les inspections moteur
  • Maintenance prédictive basée sur le machine learning
  • Contrôle d'accès basé sur les rôles (RBAC)
  • Système de journalisation d'audit
  • Application mobile (React Native)
  • Support multi-langues

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.

  1. Fork le projet
  2. Créer une branche de fonctionnalité (git checkout -b feature/NouvelleFonctionnalite)
  3. Commit vos changements (git commit -m 'Ajout d une nouvelle fonctionnalité')
  4. Push vers la branche (git push origin feature/NouvelleFonctionnalite)
  5. Ouvrir une Pull Request

📄 Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.


👨‍💻 Auteur

Yassir El Ouahabi Khirat


🙏 Remerciements


Fait avec ❤️ pour la communauté de maintenance aéronautique

⭐ Mettez une étoile à ce dépôt si vous le trouvez utile !

Releases

Packages

Contributors

Languages