Unified Backend for the NounX Community Chat Platform. This system supports a hierarchical, single-pane community structure specifically designed for students of the National Open University (NOUN).
- Hybrid Database Architecture:
- MySQL (via Prisma): Manages structured entities like Users, Faculties, Departments, Levels, and Referral relationships.
- MongoDB (via Mongoose): Handles high-volume, real-time message history.
- Hierarchical Chat Logic: Built-in support for Faculty, Department, and Level-specific chat rooms with role-based access control.
- Agent-Student Privacy Lock: Real-time referral tracking that protects students from unsolicited DMs unless handled by their referring Agent.
- Real-time Engine: Powered by Socket.io for bi-directional communication.
- Runtime: Node.js
- Framework: Express.js
- Real-time: Socket.io
- ORM/ODM: Prisma (MySQL) & Mongoose (MongoDB)
- Authentication: JWT (JSON Web Tokens)
- Clone the repository
- Install dependencies:
npm install - Configure environment: Copy
.env.exampleto.envand fill in your credentials. - Initialize MySQL Schema:
npm run prisma:push - Start Development Server:
npm run dev
Developed as part of the NounX Ecosystem.