Mohamed Jbilou
Menu

All My Projects

Back to Home
FlousBank: Next-Gen Mobile Banking (PFA 2025)Featured
About this project FlousBank: A Modern Mobile Banking Application FlousBank is a comprehensive mobile banking application I developed that provides users with a secure and intuitive platform to manage their finances on the go. The application features a sleek cyberpunk-inspired interface that combines functionality with a unique visual style, making everyday banking tasks both efficient and enjoyable. Key Features Secure Authentication: Robust login system with session persistence, secure storage, and protection against multiple failed attempts Account Dashboard: Interactive overview displaying account balances and recent transaction history with multi-account support Transaction Management: Detailed transaction history with date filtering (All, 30 days, 7 days), transaction details view, and statement download capabilities Fund Transfers: Seamless transfers between accounts with recipient selection, amount specification, and real-time processing via secure Edge Functions Bill Payments: Dedicated interface for viewing and paying bills with payment confirmation Card Management: Complete control over banking cards including viewing card details securely, activation/deactivation, spending limit adjustments, and adding new cards Branch/ATM Locator: Interactive map showing nearby branches and ATMs using device location services with directions functionality Intelligent Chatbot: Conversational assistant with quick action buttons for balance inquiries, transaction information, and navigation to other app sections Spending Overview: Visual analysis of income and expenses with interactive circular graphs showing the flow between Send, Receive, and Bills categories Notifications: System for receiving important account and transaction alerts Profile Settings: User profile management and preference configuration Multi-Account Support: Ability to manage and switch between multiple banking accounts Technical Implementation I built FlousBank using a modern, scalable tech stack: React Native with Expo for cross-platform mobile development TypeScript for type-safe code and improved maintainability Supabase for backend services including authentication, database, and serverless functions PostgreSQL database for secure data storage with custom RPCs for complex operations Expo Secure Store for sensitive data protection React Native Maps for location-based features Expo File System and Sharing for statement downloads Custom UI components for a consistent, branded experience The application follows a component-based architecture with context-based state management, ensuring a responsive and fluid user experience while maintaining code organization and reusability. User Flow Users authenticate securely through the login screen The dashboard presents a clear overview of financial accounts and recent activity Users can perform transfers, view detailed transaction history, and manage their cards Bill payments can be scheduled and tracked through a dedicated interface The branch locator helps users find nearby banking services with interactive map navigation The chatbot provides instant assistance for common banking queries Spending overview provides financial insights with interactive visualizations Account settings and preferences can be managed through an intuitive interface FlousBank demonstrates how modern mobile technology can transform traditional banking experiences, making financial management more accessible, secure, and user-friendly. This project showcases my skills in mobile application development, secure authentication implementation, API integration, and creating polished user interfaces that balance aesthetics with functionality.

Tech Stack:

React Native with Expo - TypeScript - Supabase (PostgreSQLAuthEdge Functions)-Node.js
Project-Hub (IT project management)Featured
Project-Hub is a comprehensive, production-ready desktop application designed to facilitate secure team collaboration and efficient project management. Initiated as an academic project, the application underwent a complete, professional-grade refactoring to enhance its architecture, security, persistence, and user experience, resulting in a robust system built with Java and JavaFX. 🚀 Project Evolution and Technical Foundation This project highlights my commitment to evolving academic concepts into industry-standard solutions. The major development efforts focused on creating a robust, modular, and performant system: Reinforced Architecture: Transitioned from basic scripting to a professional, modular structure with clear Separation of Concerns, ensuring high maintainability and extensibility of all components. Persistent Database: Migrated to an integrated H2 Database for reliable, transaction-safe data persistence, eliminating the need for an external server setup. Modern UI/UX: Developed a sleek, modern, and responsive JavaFX interface with styled components and fluid navigation, significantly improving the user experience on desktop. Quality Assurance: Implemented a comprehensive suite of JUnit 5 unit tests to guarantee the reliability and correctness of the business logic. ✨ Key Enterprise-Grade Features Project Manager offers a complete set of tools essential for any professional team environment: 🔐 Secure Authentication & RBAC: Features secure login/registration with password hashing and Role-Based Access Control (RBAC) to enforce distinct permissions for Project Managers (full control) and Team Members (task execution/reporting). 📁 Project & Budget Tracking: Provides a centralized project dashboard, full lifecycle management (CRUD), and dedicated tools for setting, managing, and tracking project budgets. 📋 Task Management System: Enables detailed task creation, clear prioritization (High, Medium, Low), and streamlined status tracking ("Non commencé," "En cours," "Terminé"). Tasks are easily assigned to team members. 💬 Real-time Collaboration: Includes a dedicated private messaging system and a real-time notification hub to instantly alert users of new task assignments, status changes, and critical messages, ensuring team synchronization. 🛠️ Stack Technologique The application is engineered on a powerful, reliable Java-centric stack: Core Language: Java 17+ provides the robust, object-oriented foundation for all business logic. User Interface: JavaFX powers the modern, cross-platform graphical user interface (Desktop IHM). Persistence: H2 Database is used as the integrated relational database for secure data storage. Build & Management: Apache Maven handles all project dependencies, compilation, and build automation. 💡 Demonstrated Skills This project is a comprehensive demonstration of my capabilities in: Full-Stack Java Development: Building a complete application from the database layer (H2/SQL) to the UI (JavaFX). Software Architecture: Designing and implementing a robust, modular, and extensible Object-Oriented system. Security Implementation: Integrating secure user authentication and role-based authorization principles. UX/UI Development: Creating a clean, modern, and responsive desktop application that prioritizes user experience. Quality Assurance & Testing: Utilizing JUnit 5 for rigorous validation of core functionalities.

Tech Stack:

Java - JavaFX
RestoBook 🍽️ : Intelligent Restaurants Reservation ChatbotFeatured
RestoBook: An Intelligent Restaurant Reservation Chatbot RestoBook is a sophisticated restaurant reservation system I built that leverages natural language processing to create a seamless booking experience. This interactive chatbot application allows users to reserve tables, view menus, and get location information for three premium restaurants - Rambla (Mediterranean cuisine), La Latium (Italian cuisine), and La Casa Carta (Moroccan cuisine). Key Features - Intelligent Conversation: The chatbot uses NLTK and custom trained neural networks to understand natural language queries and provide appropriate responses - Seamless Reservations: Users can book tables by specifying date, time, and party size through a conversational interface - Dynamic Information: View restaurant menus, locations (via Google Maps integration), and operating hours on demand - Reservation Management: Easy reservation tracking and cancellation using a unique ID system - Responsive Design: Clean, intuitive interface that works on both desktop and mobile devices Technical Implementation I built RestoBook using a modern tech stack: - Python/Flask backend for server-side logic and API endpoints - MySQL database for storing reservation details with separate tables for each restaurant - HTML/CSS/JavaScript frontend for an interactive user experience - NLTK and custom neural networks for natural language understanding The application processes user input through a trained model that classifies intents, allowing it to distinguish between reservation requests, menu inquiries, location questions, and cancellation requests. User Flow 1. Users interact with the chatbot using natural language 2. The system identifies their intent using NLP techniques 3. For reservations, users provide their name, phone number, date, time, and party size 4. The system confirms with a unique reservation ID for future reference 5. Users can view rich restaurant information, including complete menus and map locations 6. Cancellations are handled by providing the reservation ID RestoBook demonstrates how conversational AI can transform the restaurant reservation experience, making it more accessible and user-friendly than traditional booking methods. This project showcases my skills in full-stack development, natural language processing, and creating practical AI-powered applications that solve real-world problems.

Tech Stack:

Python/Flask - MySQL - NLTK - Google Maps API- HTML/CSS/JS
 FriendZone: Building a Place to Connect (PFA 2024)
FriendZone is a social network web application built using Python and Django, offering users a platform to connect, share activities, and communicate with friends. 🎯 Core Features 🔐 Authentication & Security - User registration and secure login system - Protected user accounts with authentication safeguards 👤 Profile Management - Customizable user profiles with personal details - Profile picture uploads - Personal bio and profile customization 📱 Social Interaction - Posts & Content Sharing - Upload photos with captions and tags - Like and comment on posts - Follow/unfollow users to curate your feed - View follower and following lists 🔍 Discovery & Engagement - Explore page for discovering new posts and users - Tag-based content organization and browsing - Search functionality for users and tags - Real-time notifications for: - New messages - Followers - Likes and comments 💬 Communication - Private messaging system between users 📱 Responsive Design - Optimized for desktop, tablet, and mobile devices - Seamless experience across all screen sizes 🛠️ Technology Stack - Backend: Python, Django - Frontend: HTML, CSS, JavaScript 🚀 Development Focus This project demonstrates comprehensive full-stack development skills, including: - Database architecture and optimization - User authentication and security - Real-time notification systems - Responsive UI/UX design - Scalable application structure

Tech Stack:

Python / Django - HTML/CSS/JS - Mysql
MarocRail Optimizer
MarocRail Optimizer: Intelligent Railway Schedule Management System Project Type: Full-Stack Machine Learning Application | Internship Project (3rd year) Overview MarocRail Optimizer is a data-driven train scheduling system that predicts delays and optimizes railway operations using machine learning. Developed as an ONCF-inspired solution, this project demonstrates end-to-end implementation of predictive analytics in transportation logistics. Technical Implementation Backend Architecture: • Python/Flask REST API serving 10+ endpoints for schedule management, delay analytics, and predictions • SQLite relational database (8.75 MB) with normalized schema handling 34,160 delay records and 2,112 weekly schedules • Modular script architecture for synthetic data generation, database management, and model training Machine Learning Pipeline: • Random Forest classifier achieving 79~80% (30 days for this project was an issue but i could improve it if i have more time) accuracy in delay prediction using 31 engineered features • Dual-model approach: classification for delay probability + regression for duration estimation • Feature engineering incorporating temporal patterns (hour, day, season), weather conditions, route history, and cascade effects • Trained on 6 months of realistic synthetic data spanning 10 stations, 25 routes, and 80 trains Schedule Optimization Engine: • Heuristic-based conflict detection algorithm identifying platform conflicts, turnaround time violations, and maintenance windows • Automated resolution system adjusting departure times, reassigning platforms, and redistributing train capacity • Performance tracking showing 15%+ reduction in predicted delays post-optimization Frontend Interface: • Responsive bilingual dashboard (English/French) built with vanilla JavaScript and Chart.js • Five core modules: system overview, schedule viewer, visual analytics, ML prediction interface, and optimization controls • Real-time data visualization displaying delay patterns by cause, time, weather, and route performance System Capabilities • Processes and analyzes 54,284 passenger flow records for demand-based scheduling • Handles complex railway network simulation with realistic constraints (train types: Al Boraq high-speed, TNR express, Regular) • Generates actionable insights through interactive charts showing delay distributions, hourly patterns, and weather correlations • Provides instant delay risk assessment for any train configuration with configurable parameters Data Engineering • Fully synthetic dataset generation mimicking real-world railway operations • Realistic delay distribution: 45% passenger-related, 24% cascade effects, 16% weather, 11% technical, 4% maintenance • Temporal modeling incorporating peak hours (6-9 AM, 5-8 PM), seasonal variations, and day-of-week patterns • Complete data pipeline from JSON storage through SQLite indexing to model-ready feature matrices Technical Stack • Backend: Python 3.9+, Flask 3.0, Pandas, NumPy, Scikit-learn • Database: SQLite with optimized indexing • Frontend: HTML5, CSS3, JavaScript (ES6+), Chart.js • ML Models: Random Forest (Classifier + Regressor), serialized with Joblib Key Achievements • Successfully implemented production-ready ML model with 79% prediction accuracy and 10.86-minute MAE • Designed RESTful API architecture supporting concurrent requests and session management • Created scalable database schema handling 100,000+ records with sub-second query response • Developed bilingual user interface supporting French/English language switching • Delivered complete documentation including architecture diagrams, API specs, and deployment guides Engineering Highlights This project demonstrates proficiency in full-stack development, machine learning deployment, database design, and transportation logistics optimization. The modular architecture allows easy extension for real-time tracking, predictive maintenance scheduling, and passenger notification systems.

Tech Stack:

Python - SQLite - JavaScript / HTML~CSS - Random Forest - Joblib
Task-manager
The Asment Task Manager is a powerful, modern full-stack web application designed to centralize and optimize operational task management for a multi-departmental organization. This project was a major deliverable during my internship at Asment Témara, showcasing my ability to translate real-world enterprise needs into a functional, production-ready software system with complete frontend and backend integration. The application features a comprehensive task assignment, tracking, and performance analysis system with persistent data storage. This project demonstrates my ability to implement complex business requirements across the entire stack, notably a robust Role-Based Access Control (RBAC) system, deep actionable Performance Analytics, and a RESTful API architecture. The frontend is built with React and TypeScript, styled using Tailwind CSS, resulting in a fast, highly responsive, and polished user experience with integrated Light and Dark Mode. The backend is powered by Node.js and Express, with PostgreSQL providing reliable relational data persistence, demonstrating full-stack development capabilities. ✨ Key Features Role-Based Access Control (RBAC): Implemented a secure authentication system with JWT tokens, dynamic routing, and interface adaptation for four distinct roles: Admin, Chef de Département (Department Manager), Ingénieur (Engineer), and Technicien (Technician). User credentials are securely stored with bcrypt password hashing. Departmental & Performance Analytics: A comprehensive dashboard and departmental view for tracking team performance. Utilizes Recharts to display interactive data visualizations, including completion rates, priority distribution, and productivity trends, filterable by date range, department, and status. Comprehensive Task Lifecycle: Full CRUD (Create, Read, Update, Delete) functionality for tasks with PostgreSQL persistence, supporting a five-stage lifecycle: 'À faire' (To Do), 'En cours' (In Progress), 'En attente de validation' (Pending Validation), 'Terminée' (Completed), and 'En retard' (Delayed). 📝 Guided Task Creation: A multi-step task creation wizard with templating options to standardize the process and ensure all required information is captured effectively. Task Verification System: Integrated image upload fields for "before" and "after" photos, a critical requirement for task verification before final approval, with support for file storage integration. Detailed Task View: Provides a single source of truth for each task, including a full history log of status and field changes stored in the database, an interactive comments section, and quick action buttons. 🎨 Modern UI/UX: Fully responsive design across desktop and mobile, ensuring a seamless experience for all users, regardless of device. Includes a user-controlled theme switcher (Light, Dark, System-based). 🏗️ Technical Implementation The application is engineered on a modern, scalable full-stack architecture. The frontend utilizes React with TypeScript to enforce strict type checking, resulting in a stable, maintainable, and bug-resistant codebase. Tailwind CSS enables a utility-first approach, which was key to delivering the responsive design and the custom Light/Dark theme system managed efficiently by the React Context API. The backend is built with Node.js and Express, providing a robust RESTful API with proper error handling, request validation, and secure authentication middleware. PostgreSQL serves as the relational database, with a well-structured schema featuring normalized tables for users, tasks, departments, categories, comments, and task history. Database queries are optimized for performance, and the schema includes proper foreign key relationships and constraints. Client-side navigation and protected routes are handled by React Router DOM. A core technical highlight is the integration of Recharts to handle complex, dynamic data transformations and visualizations required for the analytics dashboards, demonstrating proficiency in data-intensive full-stack development. The codebase follows a clear, component-based architecture with separate layers for UI, global state (Context/Hooks), API services, backend routes, and database models, showcasing a strong understanding of modern full-stack application design and separation of concerns. User Flow Authentication: Users log in securely with credentials validated against the PostgreSQL database, and their role determines interface access. 📊 Navigation: The Chef de Département accesses Départements to view team metrics and manage tasks. Techniciens navigate to Mes Tâches for their personal assignments. Analysis: Managers utilize the Dashboard and departmental tabs to filter and analyze performance data via interactive charts, with all data fetched from the backend API. Action: Users create new tasks via the Créer une Tâche wizard or update existing task status/details, with changes persisted to the database in real-time. Validation: Tasks marked as complete are reviewed in the Validation tab, often requiring "before" and "after" photos for final sign-off. This project showcases my ability to architect and deliver a professional-grade, production-ready full-stack application under the pressure of a real-world internship, demonstrating expertise in implementing complex business logic (like RBAC), building secure RESTful APIs, designing relational database schemas, integrating sophisticated data visualizations, and maintaining high standards for code quality and modern UI/UX design across the entire technology stack.

Tech Stack:

React - TypeScript - Tailwind CSS - Recharts - bcrypt - Node.js - Express - PostgreSQL