🌳 JoinTree Docs
Official Technical Documentation & Textbook
Edition 1.0 • October 2026

JoinTree Technical Architecture Manual

This manual contains the mathematical derivations, software architectural diagrams, relational entity models, and source code proofs for the JoinTree platform developed for Varadaraja Degree College (VDC), Tumkur.

Chapter 01

Executive Genesis, Problem Statement & Institutional Mission

In collegiate campuses, communication is traditionally handled through unmoderated WhatsApp group chats, physical paper pinboards, and transient Google Drive links. When students graduate, shared study links break, and critical academic notices get lost beneath hundreds of informal conversations.

💡 The JoinTree Solution: An institutional platform mapping Varadaraja Degree College as an interactive botanical tree where the root is the college administration, major branches are degrees (BCA, BBA, B.Com), and interactive leaves are enrolled students, paired with a verified notes repository and official circular bulletin.
Chapter 02

Theoretical Foundations: Algorithmic Botany & L-Systems

JoinTree does not use downloaded 3D meshes or bulky libraries. It is built upon the mathematical formalism of Lindenmayer Systems (L-Systems), originally formulated by Aristid Lindenmayer (1968) and expanded by Prusinkiewicz et al. at the University of Calgary:

  • Axiom & Rewriting: An initial trunk axiom expands through grammar productions into primary and secondary branch segments.
  • Rodrigues' Rotation Formula: Rotates branch orientation vectors in 3D space around arbitrary axes:
    v_rot = v*cos(θ) + (k × v)*sin(θ) + k*(k · v)*(1 - cos(θ))
  • Pipe Model Theory: Based on Leonardo da Vinci and Shinozaki et al. (1964), child branch diameters feed into the parent diameter via exponent η ≈ 2.5, creating natural organic branch tapering.
  • Mulberry32 PRNG: Deterministic 32-bit bit-shift pseudo-random generator with seed 7, eliminating random jumping during canvas re-renders.
Chapter 04

Database Engineering: 12 Prisma Relational Models

The persistence layer in prisma/schema.prisma governs 12 relational models on SQLite:

1. CourseProgram branches: BCA, BBA, B.Com with batch year and branch color.
2. StudentLeaf entities linked to Course with unique roll number and Cascade Delete.
3. UserPlatform authentication with SHA-256 hashed password, role, and ID card photo.
4. NoteSemester 1-6 study materials with base64 PDF stream data.
5. Announcement & CommentAudience-filtered notices with threaded discussions.
6. ModerationLog & BugReportAudit trails of admin approvals and client crash telemetry.
Chapter 12

Faculty Viva Defense & Examination Checklist

Q: Why did you write your own Canvas 2D engine instead of using Three.js?

"Three.js adds over 600KB of JavaScript and relies on WebGL contexts that consume high battery power and frequently crash on budget mobile phones. Our custom Canvas 2D engine uses packed Float32Array typed arrays with zero allocation garbage collection, maintaining 60 FPS performance even on low-end smartphones."

Q: How are student registrations kept secure?

"Students must upload a photograph of their physical college ID card during registration. Their account is placed into a 'Pending' status and cannot access internal notes or bulletin broadcasts until an administrator reviews and approves the credential in the /admin portal."