StAffichage V2
Mobile-first platform for university schedules, info, and announcements
What is this project?
StAffichage V2 is the production rebuild of a university information tool that began as a Telegram bot and grew into a Python/Flask Moodle scraper (Moodle Notifier). After the scraper proved fragile and hard to extend, I rebuilt it as a mobile-first Next.js platform that centralizes class schedules, classroom/group/teacher search, and announcements, with real-time Firebase push notifications and an installable Android app. Hosted on Railway; source code kept private.
The Problem
University schedules, classroom assignments, and announcements at the ST Faculty (Univ. Béjaïa) were spread across printed boards and outdated systems. Students had no fast, mobile way to check their schedule or see new notices, and the earlier scraper-based tool was fragile and hard to extend.
The Solution
A mobile-first web platform that centralizes schedules, classroom/group/teacher information, and announcements in one fast, searchable interface, with real-time push notifications and an installable Android app — a full rebuild of the predecessor in a modern Next.js architecture.
Feature Walkthrough
Smart schedule display (mobile + desktop)
Fast search: classrooms, groups, teachers, schedules
Real-time push notifications (Firebase Cloud Messaging)
Installable Android APK (WebView wrapper)
Dedicated installation portal (/install)
Mobile-first responsive design
Modern dark mode
Announcements & administrative notices
Technology Stack
Frontend
Next.js
React framework handling routing, rendering, and app structure.
React
Reusable component UI.
Tailwind CSS
Utility-first CSS for consistent, responsive styling.
Languages
TypeScript
Typed JavaScript for safer, maintainable code.
Backend & Services
Firebase Cloud Messaging
Real-time push notifications.
Tooling
Android (WebView)
Native Android wrapper around the web app.
Deployment
Railway
Application hosting.
Architecture
A Next.js front-end (React, TypeScript, Tailwind) serving schedules, search, and announcements, with Firebase Cloud Messaging for real-time push and an Android WebView wrapper, deployed on Railway. Implementation kept private.
Client
Web UI
Notifications
Mobile
Deployment
Challenges & Solutions
Rebuilding a fragile Python scraper into a maintainable, component-based Next.js architecture; delivering real-time push notifications across web and mobile via Firebase Cloud Messaging; packaging the web app as an installable Android experience (WebView APK) with a guided install portal; and designing one responsive, dark-mode UI that works from phones to desktops.
What I Learned
Rewriting taught me more than building the first version did — separating the data layer from a brittle page structure, choosing an architecture you can extend, and treating notifications and mobile install as first-class features rather than add-ons.
Results & Impact
Active production platform that replaced the original Moodle Notifier. Live at stbejaia.up.railway.app, with a dedicated install page and an Android APK. Source code kept private.
More Projects
Forsati
FORSATI (فرصتي) — a lightweight, multilingual web app that connects Algerian youth to ODEJ establishments through personalized recommendations, event registration, and QR ticketing.
LhadjCAD
A polished portfolio-worthy project that demonstrates technical skill, UI organization, and full-stack thinking.
LhadjCAD is a technical web platform designed to help create, manage, and present structured CAD-style content with a clean and efficient workflow.
S2 Grade Calc
Semester 2 grade calculator for L1 Computer Science (LMD) students Compute your weighted average, get your mention instantly, and export a clean PDF transcript.