The backend of Silent Desk is built with Node.js, Express.js, and MongoDB.
It provides APIs for class management, anonymous messaging, authentication, and admin controls.
- Authentication with JWT and bcrypt
- Class Management: create, join, and manage classes
- Anonymous Messaging with reply support
- Admin Controls: approve/block requests, promote users, manage settings
- Announcements to class members
- Core: Node.js, Express.js, MongoDB, Mongoose
- Security & Auth: bcrypt, JSON Web Tokens (JWT), cookie-parser, dotenv
- Utilities: cors, date-fns
- Dev Tools: nodemon
git clone https://github.com/madihamalghani/backend-silent-desk.git
cd backend-silent-desk
npm install
Create a .env
file in the backend root:
PORT=5000
MONGO_URI=your_mongodb_connection_string
FRONTEND_URL=http://localhost:5173
JWT_SECRET=your_jwt_secret
JWT_EXPIRE=7d
COOKIE_EXPIRE=5
npm run dev
The backend will run at:
- Use MongoDB Atlas or local MongoDB instance for the database.
- JWT secret must be kept safe (do not commit
.env
). - Can be combined with frontend (React + Vite) using
concurrently
to run both.
This project is licensed under the MIT License.