← BACK TO PROJECTS
TEAM PROJECT HEALTHCARE 2025

ChildSystem
Child Development Monitoring Web App

A collaboratively developed web platform for monitoring and evaluating child development. Parents register, add their children, and complete developmental questionnaires. Therapists then review the data, assign scores, and provide professional feedback. The system supports early detection of developmental issues and improves communication between families and specialists.

FEATURES

👤

User Authentication

Secure login and registration with JWT tokens. Email verification on signup, password reset via email link.

🧒

Child Profiles

Parents add multiple children with date of birth, gender, allergies, and medical notes. Each child has a personal timeline of development.

📋

Development Questionnaires

Age-appropriate developmental milestone questionnaires (motor skills, cognitive, social, language) completed by parents periodically.

👨‍⚕️

Therapist Review

Therapists access submitted questionnaires, assign scores per category, and provide structured written feedback with recommended next steps.

📅

Appointments & Scheduling

Parents request consultations with therapists. The system manages availability, sends confirmations, and reminders.

Feedback & Reviews

Bidirectional review system: parents rate therapist consultations, therapists provide developmental assessments.

🔐

Role-Based Access

Three roles with distinct permissions: Admin (full access), Parent (own children only), Therapist (assigned patients).

📊

Dashboard

Role-specific dashboards: parents see their children's progress; therapists see their case load; admins see platform statistics.

ARCHITECTURE

CLIENT
HTML + CSS + JS
Bootstrap · jQuery · vanilla JS
↓ HTTP / REST + JWT ↓
SERVER
Django
REST API · Forms · Template rendering · Auth
DATA
SQLite
Users · Children · Questionnaires · Feedback
AUTH
JWT Tokens
Access + Refresh · Role permissions
MEDIA
File Storage
Profile images · medical attachments

Built as a 3-person team project. Django serves both the REST API and the HTML templates, with role-based middleware ensuring parents only see their own children's data, therapists see only assigned patients, and admins have platform-wide access. JWT tokens authenticate API calls; sessions back up template-based pages.

TECH STACK

BACKEND

  • Python 3.x
  • Django 4.x
  • Django REST Framework
  • simplejwt (JWT auth)
  • Django ORM
  • Django Forms

FRONTEND

  • HTML5 / CSS3
  • Bootstrap 5.x
  • JavaScript (vanilla)
  • Django templates
  • Responsive design

DATA & SECURITY

  • SQLite (development)
  • JWT token rotation
  • CSRF protection
  • Password hashing (PBKDF2)
  • Role-based middleware

TOOLS & WORKFLOW

  • Git & GitHub
  • Team collaboration (3 devs)
  • Code reviews via PRs
  • Manual QA testing
  • Issue tracking

ROLES & PERMISSIONS

Role Capabilities
parent Register children, fill developmental questionnaires, request appointments, view therapist feedback, rate therapists
therapist View assigned children, review questionnaires, assign scores, provide written feedback, manage appointment availability
admin Full platform access, manage users, assign therapist–child relationships, view platform statistics

TEAM

👨‍💻

Naum Vlavcheski

Co-developer · Backend & database design

👨‍💻

Damjan Serafimovski

Co-developer · Frontend & integration

👨‍💻

Daniel Pazarkoski

Co-developer · Auth, role permissions, dashboards

CHALLENGES SOLVED

Complex role-based permissions

Three distinct user roles with overlapping but distinct data access. Solved using Django decorators per view + middleware that filters QuerySets at the ORM level — parents physically cannot query other children's records, even via direct URL manipulation.

Questionnaire flexibility

Different questionnaires apply to different age groups (0–6 months, 7–12 months, 1–2 years, etc.). Built a configurable questionnaire model with weighted scoring so admins can add new questionnaires without code changes.

Bidirectional review trust

Parents review therapists, but reviews shouldn't appear publicly until a consultation actually happened. Added a state machine on appointments (requested → confirmed → completed → reviewable) before any rating is allowed.

Team workflow

Three developers working in parallel on overlapping features. Established Git branching strategy (feature branches → PR → review by another team member → merge to main) and split clear ownership areas to avoid merge conflicts.

Healthcare platform for early detection.