---
// University ERP — keyword-focused service landing page.
// Reuses GuaranteeBand, InlineLeadForm and ServiceFaq, and feeds Service + FAQ
// schema into SEO.astro.
//
// Case-study numbers are taken verbatim from the IIT Patna University
// Management System entry on /portfolio: 3,000+ students · 500+ courses ·
// 200+ faculty.
import BaseLayout from '../../layouts/BaseLayout.astro';
import SEO from '../../components/SEO.astro';
import GuaranteeBand from '../../components/GuaranteeBand.astro';
import InlineLeadForm from '../../components/InlineLeadForm.astro';
import ServiceFaq from '../../components/ServiceFaq.astro';

const pageTitle = 'University ERP & Management System';
const pageDescription =
  'University ERP development — admissions, registration, examinations, grading, and faculty management in one platform. WorkRoot built the IIT Patna University Management System.';

const serviceName = 'University ERP & Management System';
const serviceDescription =
  'Custom university ERP and management systems covering the full student lifecycle — admissions, course registration, examination scheduling, grade management, and faculty administration. Built on Next.js and Spring Boot, delivered for the Indian Institute of Technology, Patna.';

const modules = [
  { title: 'Admissions', body: 'Online applications, document handling, and seat allocation that replace fragmented manual intake.' },
  { title: 'Course registration', body: 'Self-service registration with prerequisite checks, capacity limits, and timetable clash detection.' },
  { title: 'Examination scheduling', body: 'Exam planning, hall and invigilator allocation, and conflict-free timetabling.' },
  { title: 'Grade management', body: 'Mark entry, moderation, GPA/CGPA computation, and transcript generation.' },
  { title: 'Faculty administration', body: 'Faculty profiles, course assignments, and workload tracking for 200+ faculty in production.' },
  { title: 'Student lifecycle', body: 'A unified record from admission to graduation, with role-based access for staff and students.' },
];

const stats = [
  { value: '3,000+', label: 'Students served' },
  { value: '500+', label: 'Courses managed' },
  { value: '200+', label: 'Faculty onboarded' },
  { value: '1', label: 'Unified platform' },
];

// Fragmented legacy vs unified university ERP comparison.
const comparison = [
  { dimension: 'Admissions', legacy: 'Separate intake tools and spreadsheets', erp: 'One online admissions pipeline' },
  { dimension: 'Registration', legacy: 'Manual forms, clash errors', erp: 'Self-service with prerequisite & clash checks' },
  { dimension: 'Examinations', legacy: 'Standalone scheduling, hall conflicts', erp: 'Conflict-free exam timetabling' },
  { dimension: 'Grading', legacy: 'Disconnected mark sheets', erp: 'Automated GPA/CGPA and transcripts' },
  { dimension: 'Faculty data', legacy: 'Siloed department records', erp: 'Central faculty administration' },
  { dimension: 'Student record', legacy: 'Scattered across systems', erp: 'Single lifecycle record of truth' },
];

const faqs = [
  {
    question: 'Have you built a university management system before?',
    answer:
      'Yes. WorkRoot built the University Management System for the Indian Institute of Technology, Patna. It manages admissions, course registration, examination scheduling, grade management, faculty profiles, and administrative workflows for 3,000+ students, 500+ courses, and 200+ faculty.',
  },
  {
    question: 'What modules does a university ERP include?',
    answer:
      'A typical build covers admissions, course registration, examination scheduling, grade and transcript management, faculty administration, and the overall student lifecycle — all under role-based access for staff and students. We tailor the exact module set to your institution during scoping.',
  },
  {
    question: 'Can it replace our existing fragmented systems?',
    answer:
      'Yes — that is the usual reason institutions engage us. IIT Patna needed to replace fragmented legacy systems with one unified platform, which is exactly what we delivered. We migrate existing data and consolidate intake, registration, examinations, and records into a single source of truth.',
  },
  {
    question: 'Will it scale for our whole campus?',
    answer:
      'Yes. The IIT Patna platform was designed for scalability and high availability to serve the entire academic community. Our architecture handles concurrent registration and exam periods — the peak-load moments that break smaller systems.',
  },
  {
    question: 'How long does a university ERP take to deliver?',
    answer:
      'We deliver module by module so value lands early — a first module in weeks, with full rollout over a few months depending on scope. Working in 2-week sprints with a live staging environment, your team sees and steers the system as it is built.',
  },
  {
    question: 'What technology do you use for university ERPs?',
    answer:
      'The IIT Patna system is built on Next.js for the interface and Spring Boot for the backend, with MySQL for the data layer — chosen for scalability, maintainability, and high availability across the academic community.',
  },
];
---

<BaseLayout title={pageTitle} description={pageDescription}>
  <SEO
    slot="head"
    type="Service"
    breadcrumbs={[
      { name: 'Home', url: '/' },
      { name: 'Services', url: '/services' },
      { name: 'University ERP', url: '/services/university-erp' },
    ]}
    service={{ name: serviceName, description: serviceDescription }}
    faq={faqs}
  />

  <!-- Hero -->
  <section class="relative bg-gradient-to-br from-secondary-900 via-secondary-800 to-secondary-900 py-20 lg:py-28 overflow-hidden">
    <div class="absolute inset-0 overflow-hidden pointer-events-none" aria-hidden="true">
      <div class="absolute top-1/4 left-0 w-80 h-80 bg-purple-500/10 rounded-full blur-3xl animate-pulse-slower"></div>
      <div class="absolute bottom-0 right-1/4 w-96 h-96 bg-indigo-500/10 rounded-full blur-3xl animate-pulse-slow"></div>
      <div class="absolute inset-0 opacity-5" style="background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 60px 60px;"></div>
    </div>
    <div class="container-wrapper relative">
      <div class="max-w-3xl">
        <nav aria-label="Breadcrumb" class="mb-6">
          <ol class="flex flex-wrap items-center gap-2 text-sm text-secondary-400">
            <li><a href="/" class="hover:text-primary-300">Home</a></li>
            <li aria-hidden="true">/</li>
            <li><a href="/services" class="hover:text-primary-300">Services</a></li>
            <li aria-hidden="true">/</li>
            <li class="text-secondary-200" aria-current="page">University ERP</li>
          </ol>
        </nav>
        <span class="inline-flex items-center gap-2 px-4 py-1.5 mb-6 text-sm font-semibold text-purple-300 bg-purple-500/10 rounded-full border border-purple-500/20">
          <span class="w-1.5 h-1.5 rounded-full bg-purple-400 animate-pulse" aria-hidden="true"></span>
          Higher-education software
        </span>
        <h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold text-white mb-6 leading-tight">
          University ERP that runs
          <span class="text-transparent bg-clip-text bg-gradient-to-r from-purple-400 via-indigo-300 to-primary-300"> the whole student lifecycle.</span>
        </h1>
        <p class="text-lg sm:text-xl text-secondary-300 max-w-2xl mb-8 leading-relaxed">
          Admissions, registration, examinations, grading, and faculty — one platform instead of a dozen disconnected tools.
          We built exactly this for the Indian Institute of Technology, Patna, on Next.js and Spring Boot.
        </p>
        <div class="flex flex-col sm:flex-row gap-4">
          <a href="#inline-lead-form" data-cta="uni-hero-primary" class="inline-flex items-center justify-center rounded-xl bg-gradient-to-r from-primary-500 to-primary-600 px-8 py-4 text-base font-bold text-white shadow-lg hover:shadow-xl hover:scale-105 transition-all focus:outline-none focus:ring-2 focus:ring-primary-400 focus:ring-offset-2 focus:ring-offset-secondary-900">
            Scope my university ERP
            <svg class="ml-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M17 8l4 4m0 0l-4 4m4-4H3" /></svg>
          </a>
          <a href="tel:+919561417403" data-cta="uni-hero-call" class="inline-flex items-center justify-center rounded-xl border-2 border-white/30 bg-white/5 px-8 py-4 text-base font-bold text-white hover:bg-white/10 transition-all focus:outline-none focus:ring-2 focus:ring-white/50">
            Talk to our team
          </a>
        </div>
      </div>

      <div class="mt-14 grid grid-cols-2 sm:grid-cols-4 gap-4 lg:gap-6">
        {stats.map((stat) => (
          <div class="bg-white/5 backdrop-blur-sm rounded-xl p-4 lg:p-5 text-center border border-white/10">
            <p class="text-2xl lg:text-3xl font-bold text-white">{stat.value}</p>
            <p class="text-secondary-400 text-sm mt-1">{stat.label}</p>
          </div>
        ))}
      </div>
    </div>
  </section>

  <!-- Overview -->
  <section class="py-16 lg:py-24 bg-white dark:bg-secondary-900">
    <div class="container-wrapper">
      <div class="max-w-3xl mx-auto">
        <span class="text-purple-600 dark:text-purple-400 font-semibold text-sm uppercase tracking-wider">Built for institutions</span>
        <h2 class="text-3xl sm:text-4xl font-bold text-secondary-900 dark:text-secondary-100 mt-2 mb-6">One platform for admissions through graduation</h2>
        <div class="space-y-5 text-lg text-secondary-700 dark:text-secondary-300 leading-relaxed">
          <p>
            Universities accumulate software the way they accumulate buildings — one tool for admissions, another for
            registration, a spreadsheet for grades, a separate system for faculty. Each works in isolation, but the seams show at
            exactly the wrong moments: registration week, exam season, results day. A university ERP replaces that patchwork with a
            single platform that follows each student from application to graduation, and gives staff one place to work.
          </p>
          <p>
            WorkRoot delivered precisely this for the <strong>Indian Institute of Technology, Patna</strong>. The institution
            needed to replace fragmented legacy systems with a unified platform spanning admissions, course registration,
            examination scheduling, grade management, faculty profiles, and administrative workflows. We built it on a
            <strong> Next.js</strong> front end with a <strong>Spring Boot</strong> backend and a <strong>MySQL</strong> data
            layer, engineered for scalability and high availability so it holds up when the whole campus logs in at once. In
            production it serves <strong>3,000+ students</strong>, <strong>500+ courses</strong>, and <strong>200+ faculty</strong>.
          </p>
          <p>
            The hard part of academic software is the peak. Registration and examinations concentrate enormous load into a few
            days, and the modules have to coordinate — prerequisites gate registration, registration drives exam scheduling,
            exams feed grading, grades roll into transcripts. We model those dependencies explicitly so the system stays
            conflict-free under pressure: capacity limits and clash detection at registration, hall and invigilator allocation at
            exam time, and automated GPA/CGPA computation and transcript generation at results.
          </p>
          <p>
            Role-based access keeps students, faculty, and administrators each seeing only what they should, and the unified
            student record becomes a single source of truth that ends the reconciliation scramble between departments. The
            platform is yours on delivery — full source code, documentation, and deployment access — so your institution stays in
            control of its most important data. If you are ready to retire a fragmented stack, we have built the replacement
            before, at an IIT.
          </p>
        </div>
      </div>
    </div>
  </section>

  <!-- Modules grid -->
  <section class="py-16 lg:py-24 bg-secondary-50 dark:bg-secondary-800/50">
    <div class="container-wrapper">
      <div class="text-center max-w-2xl mx-auto mb-12">
        <h2 class="text-3xl sm:text-4xl font-bold text-secondary-900 dark:text-secondary-100 mb-4">University ERP modules</h2>
        <p class="text-secondary-600 dark:text-secondary-400 text-lg">The full academic lifecycle, in one connected system.</p>
      </div>
      <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6">
        {modules.map((m) => (
          <div class="bg-white dark:bg-secondary-800 rounded-2xl p-7 border border-secondary-100 dark:border-secondary-700 shadow-sm hover:shadow-lg transition-shadow">
            <div class="w-12 h-12 rounded-xl bg-purple-50 dark:bg-purple-900/30 text-purple-600 dark:text-purple-300 flex items-center justify-center mb-4" aria-hidden="true">
              <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M12 14l9-5-9-5-9 5 9 5z" /><path stroke-linecap="round" stroke-linejoin="round" d="M12 14l6.16-3.422A12.083 12.083 0 0112 21.5a12.083 12.083 0 01-6.16-10.922L12 14z" /></svg>
            </div>
            <h3 class="text-lg font-bold text-secondary-900 dark:text-secondary-100 mb-2">{m.title}</h3>
            <p class="text-secondary-600 dark:text-secondary-400 text-sm leading-relaxed">{m.body}</p>
          </div>
        ))}
      </div>
    </div>
  </section>

  <!-- Comparison table -->
  <section class="py-16 lg:py-24 bg-white dark:bg-secondary-900">
    <div class="container-wrapper">
      <div class="max-w-4xl mx-auto">
        <div class="text-center mb-10">
          <h2 class="text-3xl sm:text-4xl font-bold text-secondary-900 dark:text-secondary-100 mb-4">Fragmented tools vs a unified ERP</h2>
          <p class="text-secondary-600 dark:text-secondary-400 text-lg">What changes when everything connects.</p>
        </div>
        <div class="overflow-x-auto rounded-2xl border border-secondary-200 dark:border-secondary-700 shadow-sm">
          <table class="w-full text-left border-collapse min-w-[640px]">
            <caption class="sr-only">Comparison of fragmented academic tools versus a unified WorkRoot university ERP</caption>
            <thead>
              <tr class="bg-secondary-50 dark:bg-secondary-800">
                <th scope="col" class="px-5 py-4 text-sm font-bold text-secondary-700 dark:text-secondary-200">Area</th>
                <th scope="col" class="px-5 py-4 text-sm font-bold text-secondary-500 dark:text-secondary-400">Fragmented tools</th>
                <th scope="col" class="px-5 py-4 text-sm font-bold text-primary-700 dark:text-primary-300">Unified ERP (WorkRoot)</th>
              </tr>
            </thead>
            <tbody>
              {comparison.map((row, i) => (
                <tr class={i % 2 === 0 ? 'bg-white dark:bg-secondary-900' : 'bg-secondary-50/50 dark:bg-secondary-800/40'}>
                  <th scope="row" class="px-5 py-4 text-sm font-semibold text-secondary-900 dark:text-secondary-100 align-top">{row.dimension}</th>
                  <td class="px-5 py-4 text-sm text-secondary-600 dark:text-secondary-400 align-top">{row.legacy}</td>
                  <td class="px-5 py-4 text-sm text-secondary-700 dark:text-secondary-200 align-top font-medium">
                    <span class="inline-flex items-start gap-2">
                      <svg class="w-4 h-4 mt-0.5 flex-shrink-0 text-emerald-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2.5" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
                      {row.erp}
                    </span>
                  </td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
      </div>
    </div>
  </section>

  <!-- Case study -->
  <section class="py-16 lg:py-24 bg-gradient-to-br from-secondary-900 via-secondary-800 to-secondary-900">
    <div class="container-wrapper">
      <div class="max-w-4xl mx-auto">
        <span class="inline-flex items-center gap-2 px-4 py-1.5 mb-5 text-sm font-semibold text-purple-300 bg-purple-500/10 rounded-full border border-purple-500/20">Case study · Higher education</span>
        <h2 class="text-3xl sm:text-4xl font-bold text-white mb-4">University Management System — IIT Patna</h2>
        <p class="text-lg text-secondary-300 leading-relaxed mb-8">
          An end-to-end University Management System for the Indian Institute of Technology, Patna — managing student admissions,
          course registration, examination scheduling, grade management, faculty profiles, and administrative workflows in one
          scalable, high-availability platform.
        </p>
        <div class="grid grid-cols-3 gap-4 mb-8">
          {[{ v: '3,000+', l: 'Students served' }, { v: '500+', l: 'Courses managed' }, { v: '200+', l: 'Faculty onboarded' }].map((s) => (
            <div class="bg-white/5 border border-white/10 rounded-xl p-5 text-center">
              <p class="text-2xl sm:text-3xl font-bold text-white">{s.v}</p>
              <p class="text-secondary-400 text-xs sm:text-sm mt-1">{s.l}</p>
            </div>
          ))}
        </div>
        <blockquote class="border-l-4 border-primary-500 pl-5 text-secondary-200 italic leading-relaxed">
          “WorkRoot delivered our University Management System for IIT Patna on time and within budget. The Next.js + Spring Boot
          architecture is robust and scalable. They are a reliable technology partner for complex enterprise projects.”
          <footer class="mt-3 not-italic text-sm text-secondary-400">— Dilip Raj, Director, MOC Soft Technologies Pvt Ltd</footer>
        </blockquote>
        <div class="mt-8 flex flex-wrap gap-4">
          <a href="/portfolio#university-management-iitp" class="inline-flex items-center gap-2 text-primary-300 font-semibold hover:text-primary-200">
            Read the full case study
            <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M17 8l4 4m0 0l-4 4m4-4H3" /></svg>
          </a>
          <a href="/services/custom-erp-development" class="inline-flex items-center gap-2 text-secondary-300 font-semibold hover:text-white">
            Explore custom ERP development
            <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7" /></svg>
          </a>
        </div>
      </div>
    </div>
  </section>

  <ServiceFaq
    faqs={faqs}
    eyebrow="For institutions"
    heading="University ERP — your questions answered"
    subheading="Track record, modules, migration, scale, timelines, and the stack we use."
  />

  <GuaranteeBand />
  <InlineLeadForm />
</BaseLayout>
