A high-performance, full-stack CMS for modern digital communities.
Manage users, content, and media from a centralized, secure admin dashboard.
Overview • Features • Architecture • Structure • Setup • Roadmap • License
Nexus CMS is a robust Content Management System engineered to provide a centralized dashboard for administrators to:
- Manage users and roles
- Curate digital content (blogs, announcements, pages)
- Upload and serve high-resolution media assets securely
By using a Decoupled Data Strategy, Nexus CMS separates:
- Content & metadata → MongoDB Atlas
- Media delivery → Firebase Cloud Storage
This enables high availability and fast load times, even for media-heavy communities.
- Role-Based Access Control (RBAC): Tiered permissions for Admins, Moderators, and Members
- Dynamic Dashboard: Real-time insights on user growth, activity, and engagement
- Full CRUD Engine: Manage blogs, announcements, and pages with status tracking:
Draft→Published→Archived
- Hybrid Storage: Metadata in MongoDB Atlas + media in Firebase Storage
- Stateless Auth: JWT-based authentication for scalable, cross-platform deployments
- SEO Optimized: Server-side rendered Handlebars (HBS) templates for fast indexing
This project follows a modern MVC (Model–View–Controller) approach:
- View Layer: Handlebars templates + CSS3 (Flex/Grid) + Vanilla JS
- Logic Layer: Node.js / Express middleware for:
- validation
- auth guards
- business logic
- Data Layer: Mongoose schemas for strict validation and relationships
- External Integration: Firebase Admin SDK for secure media handling and delivery
.
├── config/ # Database & Firebase service connections
├── controllers/ # Controllers for route logic
├── middleware/ # Auth guards & role validation
├── models/ # Mongoose models (User, Post, Community)
├── public/ # Static assets (CSS, images, client-side JS)
├── routes/ # API + view route definitions
├── views/ # Handlebars (HBS) template files
└── app.js # Application entry point & configuration- Node.js
v16+ - MongoDB Atlas account + cluster
- Firebase project credentials
git clone https://github.com/rajkandula/CMS.git
cd CMS
npm installCreate a .env file in the root directory:
PORT=3000
MONGO_URI=your_mongodb_atlas_connection_string
FIREBASE_API_KEY=your_firebase_key
JWT_SECRET=your_super_secret_stringTip: Never commit
.envto GitHub. Add it to.gitignore.
# Development mode
npm run dev
# Production mode
npm start- Socket.io Integration: Real-time chat and live community notifications
- Advanced Search: Integrate Algolia for instant content filtering
- REST API Docs: Swagger / OpenAPI for developer access
- Analytics Suite: Heatmaps and engagement tracking for admins
Contributions are welcome!
- Open an issue for bugs/feature requests
- Submit a PR with clear context and screenshots when relevant
Distributed under the MIT License. See LICENSE for more information.
Charan Raj Kandula
