A custom Content Management System (CMS) for [jdcodebase], built with React (Vite) + TailwindCSS on the frontend, and Node.js + Express + Firestore on the backend.
Currently, it fully supports Programming Language (PL) topics with dynamic article management.
A DSA problem section is planned for the future.
- 📑 Topic cards for Programming Languages (e.g., JavaScript, C++)
- 📝 Dynamic article form with reorderable content blocks:
- Paragraphs, headings, lists, code snippets, videos, questions, navigation, etc.
- 🔄 CRUD functionality: create, read, update, delete articles
- 💾 Firestore integration with structured storage:
- topics/{topicSlug}/articles/{articleSlug}
- ✏️ Edit mode with pre-filled forms for easy updates
- 🧩 Problem form with:
- Problem statement
- Examples
- Approaches (steps + code)
- Time/space complexities
- Related links
- Full CRUD for problems
- Firestore schema for DSA problems
Frontend:
- React (Vite)
- TailwindCSS
Backend:
- Node.js
- Express
Database:
- Firebase Firestore
- ✅ Programming Languages section complete
- ⏳ DSA section in progress (future)
- Clone the repo:
git clone https://github.com/jdcodebase/jdcodebase-cms- Navigate to the project:
cd jdcodebase-cms- Install dependencies:
cd frontend && npm install
cd ../backend && npm install- Add your Firebase credentials in:
backend/src/config/firebase.js- Run backend:
cd backend
npm run dev- Run frontend:
cd frontend
npm run devThis project is open-source and available under the MIT License.