Interactive Bulletin Management System
A role-aware full-stack bulletin platform designed to replace fragmented WhatsApp and memo-based communication at Lead City University with a single, secure, real-time announcement system for students, staff, and administrators.







Viewing image 1 of 8
Technologies
Challenge
The university had fragmented communication across memos, WhatsApp, and manual approval chains, making it hard to publish and track official updates securely. Technically, the system needed one role-aware platform with strong access control, secure auth, real-time updates, file uploads, analytics, and consistent data handling across MongoDB, Redis, and a React frontend.
Solution
The project implemented a TypeScript full-stack architecture: Express + Node.js for the API, React + Vite for the UI, MongoDB for persistent bulletin data, Redis for session/refresh-token support and live cache, and Socket.IO for real-time bulletin notifications. Auth is enforced with JWTs and refresh cookies, role-based middleware restricts access by user type, API security includes rate limiting and NoSQL input sanitization, Cloudinary handles attachments, and automated archiving keeps older content manageable. Frontend rendering is role-specific, while Render and Vercel host the backend and frontend separately.
Key Features
Role-based access control for guest, student, staff, and admin interfaces
Drafting, approval, publishing, and archival workflow for announcements
Real-time updates and notifications powered by Socket.IO
Comments, reactions, and acknowledgement tracking for engagement
Analytics dashboard for admin monitoring and post-performance insights
Secure authentication and API protection with JWT, Redis, and rate limiting
Project Details
The Interactive Bulletin Management System was developed to address the university had fragmented communication across memos, whatsapp, and manual approval chains, making it hard to publish and track official updates securely. technically, the system needed one role-aware platform with strong access control, secure auth, real-time updates, file uploads, analytics, and consistent data handling across mongodb, redis, and a react frontend. This project showcases my skills in React 18, Vite, TypeScript, and other technologies.
During development, I focused on creating a solution that would be both effective and user-friendly. The approach involved the project implemented a typescript full-stack architecture: express + node.js for the api, react + vite for the ui, mongodb for persistent bulletin data, redis for session/refresh-token support and live cache, and socket.io for real-time bulletin notifications. auth is enforced with jwts and refresh cookies, role-based middleware restricts access by user type, api security includes rate limiting and nosql input sanitization, cloudinary handles attachments, and automated archiving keeps older content manageable. frontend rendering is role-specific, while render and vercel host the backend and frontend separately.
The application features a clean, intuitive interface that allows users to easily navigate and utilize all functionality. Key features include Role-based access control for guest, student, staff, and admin interfaces, Drafting, approval, publishing, and archival workflow for announcements, Real-time updates and notifications powered by Socket.IO, and more.
This project demonstrates my ability to understand complex problems and develop effective solutions using modern technologies and best practices in software development.
Related Projects

TrybeMarket
A decentralized, cross-platform campus marketplace ecosystem. It enables students to buy/sell goods, hire services, and build personal brands, utilizing a unified backend to serve both web and mobile users seamlessly.
View projectJanco
AI-powered janitorial services platform for Nigeria with on-demand and subscription cleaning, intelligent janitor matching, area-based pricing, and admin operations.
View project