// the find
Yogndrr/MERN-School-Management-System
MERN stack app. Streamline school management, class organization, and add students and faculty. Seamlessly track attendance, assess performance, and provide feedback. Access records, view marks, and communicate effortlessly.
A MERN stack school management system with three roles (admin, teacher, student) covering attendance, marks, and basic messaging. Primarily a tutorial/portfolio project with a YouTube companion video, though the author is actively rebuilding the main branch with better architecture. Good starting point if you need to understand how to structure a multi-role Node/React app.
- Clean role separation across three distinct user types with corresponding Redux slices — the folder structure mirrors the domain well and is easy to navigate
- Sensible branch strategy: legacy-version preserves the tutorial code, main is the active rebuild, community-version keeps PRs from polluting the core rewrite
- Redux Toolkit usage for async state keeps the data-fetching boilerplate manageable across six separate domain slices
- Material UI throughout means the UI is consistent without custom component work, which is appropriate for an admin tool
- The .env files expose a hardcoded SECRET_KEY ('secret123key') in the README — anyone cloning this and skipping that line ships a known JWT secret to production
- All routes appear to live in a single route.js file based on the directory tree — at any real scale this becomes unmaintainable, and the 'better architecture' rebuild on main suggests the author knows this
- MongoDB with no apparent schema validation beyond Mongoose models means malformed data from the frontend gets stored silently; no mention of input sanitization anywhere
- The messaging feature is described as 'communicate effortlessly' but there's no WebSocket or polling mechanism visible — almost certainly just stored messages with no real-time delivery, which will surprise anyone expecting chat