A robust, role-based Content Management System (CMS) designed for the verification and publication of technical articles.
The Technical Article Publishing System is a web-based platform built to facilitate the creation, management, and dissemination of technical knowledge. Developed as a Final Year Major Project, it addresses the issue of unregulated content on standard blogging sites by enforcing a strict Admin-Writer workflow.
Unlike generic CMS platforms, this system integrates Role-Based Access Control (RBAC) to ensure that content is drafted by Writers but must be reviewed and approved by an Admin before becoming public.
- π Role-Based Access Control (RBAC):
- Admin: Superuser privileges to manage users, approve/reject drafts, and delete content.
- Writer: Dedicated dashboard to create, edit, and manage personal drafts.
- Reader: Public access to view and read published articles.
- π‘οΈ Secure Authentication:
- Stateless session management using JSON Web Tokens (JWT).
- Secure password hashing using Bcrypt.js.
- π Modern Architecture:
- Frontend: React.js (Vite) for a fast, responsive Single Page Application (SPA).
- Backend: Node.js & Express REST API with custom middleware protection.
- Database: MongoDB for flexible, document-oriented storage.
- π Content Lifecycle: Implements a logical flow:
Draft->Pending Review->Published.
| Component | Technology | Description |
|---|---|---|
| Frontend | React.js (Vite) | Dynamic User Interface |
| Backend | Node.js, Express.js | RESTful API Server |
| Database | MongoDB (Atlas) | NoSQL Data Storage |
| Auth | JWT, Bcrypt.js | Security & Encryption |
| Styling | CSS3 | Custom Responsive Design |
Follow these steps to run the project locally.
- Node.js (v14 or higher)
- MongoDB (Local or Atlas Connection String)
git clone [https://github.com/atulsingh-xd/article-publishing-system.git]
cd article-publishing-system