DEV Community

Hossein
Hossein

Posted on

How We Built school.danaa.app: A Full-Stack EdTech App for Smart Attendance

How We Built school.danaa.app β€” A Smart Attendance Platform for Schools πŸŽ“πŸ“±

In early 2024, we set out to solve a problem that's too common in schools: outdated and inefficient attendance systems. We wanted to build something fast, simple, and smart β€” and that’s how school.danaa.app was born.

In this post, I’ll walk you through:

  • 🧠 The inspiration behind the project
  • πŸ› οΈ The tech stack we used
  • πŸš€ Key features and what we learned
  • πŸ”— A link to try it yourself (yes, it's free for schools!)

🧠 The Problem

Most schools still use paper sheets or clunky desktop software for tracking student attendance. These systems are often:

  • Slow and manual
  • Not mobile-friendly
  • Hard to integrate with other school tools

We wanted to solve all of that.


πŸ› οΈ The Tech Stack

To make school.danaa.app lightweight and scalable, we chose:

  • Frontend: React (with Vite for faster dev build)
  • Backend: Node.js with Express
  • Database: MongoDB (Atlas)
  • Auth: JWT-based login
  • Hosting: Vercel for frontend, Render for backend API

Bonus: We implemented PWA features so teachers can install it like an app.


πŸš€ Key Features

Here’s what we built:

  • 1-click check-in with class QR codes
  • Attendance analytics per student/class
  • Multi-user roles (admin, teacher, student)
  • Offline support (because not all classrooms have great WiFi)

πŸ’‘ What We Learned

  • User onboarding is key β€” we redesigned it 3 times based on feedback
  • Teachers love simplicity over fancy dashboards
  • Analytics dashboards are only useful if easy to understand

πŸ”— Try It Live

You can try the platform at πŸ‘‰ [school.danaa.app]

(It's free for schools, no credit card required.)

We’d love your feedback β€” especially from other devs working in EdTech. Drop your thoughts below or DM me on Dev.to!


πŸ™ Thanks for Reading!

Let me know if you'd like a technical deep-dive post next β€” I’m happy to share how we handled auth logic and session timeout handling.

Top comments (0)