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.
/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.
Ensure you have the following installed on your machine:
- Node.js (v18.0.0 or higher)
- MongoDB (running locally on port
27017for native setup) - Docker & Docker Compose (optional, for containerized run)
Run the master installer from the root workspace folder to provision all three directories:
npm run install:allPopulate MongoDB with default system configurations, 4 security operators, 3 display screens, and 20 notice records:
npm run seedStart both the Express API (port 5000) and the Vite React server (port 3000) concurrently:
npm run devTo spin up the entire application stack (MongoDB, Express Backend, and React Frontend) inside Docker container isolated environments:
docker-compose up --buildNote: Vite dev server will bind to port 3000 and Express API to port 5000 on your host system.
Execute the integration and unit tests (covering OTP logins, notice moderation, and frontend badge component rendering):
npm testUse 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 |
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