DEV Community

Pradeep Ravisankar
Pradeep Ravisankar

Posted on

My Journey Building a Student Attendance Management System (MERN + DevOps)

Hey everyone πŸ‘‹, I’m Pradeep, and I recently completed and deployed my Student Attendance Management System using the MERN stack. This blog is about my journey β€” from an idea to a live production app with CI/CD pipelines, Docker, and cloud deployment.

🌱 Where It Started

Like most students, I saw how messy attendance tracking can be in real life. Manual registers, spreadsheets, and no clear visibility for students. That’s when I thought β€” why not build a modern attendance management system that’s secure, responsive, and production-ready?

πŸ› οΈ Tech Stack

I decided to go with the MERN stack for flexibility and scalability:

Frontend: React + Tailwind CSS (clean UI, responsive, dark mode support)

Backend: Node.js + Express (API-driven, JWT authentication)

Database: MongoDB + Mongoose (flexible schema design)

Auth & Security: JWT, bcrypt, input sanitization

Deployment & DevOps: Docker, GitHub Actions, Render (backend), Netlify (frontend)

✨ Features I Built

πŸ‘©β€πŸ« Teacher

Add / delete students

Mark and update attendance

View records in a dynamic table

πŸŽ“ Student

Secure login

View personal attendance records

Track percentage progress

πŸ›‘οΈ Admin

Role-based access control

Protected routes for teacher dashboards

πŸ”’ Security First

Instead of hardcoding secrets, I made sure to use environment variables for both frontend (Netlify) and backend (Render). That way, credentials like MongoDB URI and JWT keys are never exposed.

πŸš€ Deployment Journey

This was my favorite part β€” taking the project live.

CI/CD pipeline with GitHub Actions

Build Docker images β†’ Push to Docker Hub

Backend auto-deployed on Render via webhook

Frontend auto-deployed on Netlify

The best part? Every new commit automatically triggers builds & deployments.

πŸŽ₯ Demo Access

Want to try it out?

Teacher ID: t001 | Password: abc@123

Student ID: std_1 | Password: linus@123

πŸ‘‰ Live Demo Link

πŸ“Œ Lessons I Learned

Building is one thing, but deploying securely is where the real learning happens.

Docker + GitHub Actions + Render + Netlify = a professional-grade pipeline.

Writing clean code is important, but thinking about scalability, auth, and security is just as crucial.

Top comments (0)