Skip to content

Repository files navigation

AI-Powered Smart Notice Board Management System

A high-fidelity, full-stack digital notice board management system that replaces physical bulletin boards with smart IoT display screens. The platform incorporates real-time WebSockets, regional translation pipelines, and automated AI content moderation safeguards.


🗺️ System Architecture

  • /frontend: React SPA configured with Vite, Tailwind CSS, Recharts analytics, Framer Motion transitions, and Socket.io clients.
  • /backend: Express REST API server using TypeScript, Mongoose models, Zod schema validations, and Socket.io event rooms.
  • /ai-service: Python FastAPI microservice executing local NLP/translation fallback scripts if offline.
  • docker-compose.yml: Full-stack multi-container orchestration.

⚙️ Prerequisites

Ensure you have the following installed on your machine:


🚀 Getting Started (Native Setup)

1. Install Dependencies

Run the master installer from the root workspace folder to provision all three directories:

npm run install:all

2. Seed the Database

Populate MongoDB with default system configurations, 4 security operators, 3 display screens, and 20 notice records:

npm run seed

3. Launch Development Servers

Start both the Express API (port 5000) and the Vite React server (port 3000) concurrently:

npm run dev

🐳 Getting Started (Docker Compose)

To spin up the entire application stack (MongoDB, Express Backend, and React Frontend) inside Docker container isolated environments:

docker-compose up --build

Note: Vite dev server will bind to port 3000 and Express API to port 5000 on your host system.


🧪 Running the Test Suite

Execute the integration and unit tests (covering OTP logins, notice moderation, and frontend badge component rendering):

npm test

🔑 Seeded Demo Accounts

Use these pre-seeded emails/phones to request OTPs on the login screen. The dev console outputs the 6-digit OTP code in terminal and displays an Autofill Helper button on the UI.

Role Email Identifier Phone Number Access Scope
SuperAdmin admin@noticeboard.com 9876543210 Full controls, sliders, operators creation
Admin moderator@noticeboard.com 9876543211 Moderate pending review queue, audit logs
Editor editor@noticeboard.com 9876543212 Compose notice broadcasts & SMS mock webhooks
Viewer viewer@noticeboard.com 9876543213 Read-only access to history and charts

🖥️ Screen Simulator Channels

Predefined ESP32 digital displays seeded in the database:

  • Main Entrance: Code BOARD01 -> URL: http://localhost:3000/simulator/BOARD01
  • Library Block: Code BOARD02 -> URL: http://localhost:3000/simulator/BOARD02
  • Seminar Hall: Code BOARD03 -> URL: http://localhost:3000/simulator/BOARD03

About

An AI-powered smart notice board that lets admins send notices via web, SMS, or voice. It uses OTP security, AI spam filtering, and priority for emergencies. Notices display on an ESP32 LED matrix over WiFi, with real-time analytics and multilingual support.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages