badal/admission-form

Reusable Online Admission Form

Maintainers

Package info

github.com/badal-vasptechnologies/admission-form

Language:JavaScript

pkg:composer/badal/admission-form

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-04-01 20:15 UTC

This package is not auto-updated.

Last update: 2026-04-30 19:11:26 UTC


README

Reusable Online Admission Form for Core PHP Projects.

🚀 Installation

composer require badal/admission-form

⚙️ Usage

require 'vendor/autoload.php';

use Badal\Admission\Admission;

$admission = new Admission([
    'api_url' => 'http://localhost/your-project/api'
]);

$admission->render();

📁 Required Setup (IMPORTANT)

You must create the following structure in your project:

your-project/
│── api/
│    ├── admission-data.php
│    └── submit-admission.php
│
│── storage/
│    └── admissions.txt

🔌 API: admission-data.php

This API provides sessions and classes.

<?php
header('Content-Type: application/json');

$action = $_GET['action'] ?? 'init';

if ($action === 'init') {

    echo json_encode([
        "sessions" => [
            [
                "id" => 1,
                "name" => "2026-2027",
                "classes" => [
                    ["id" => 1, "name" => "UKG", "open" => true],
                    ["id" => 2, "name" => "LKG", "open" => false]
                ]
            ]
        ]
    ]);

    exit;
}

📩 API: submit-admission.php

Handles form submission, saving data, and sending email.

<?php
header('Content-Type: application/json');

$data = json_decode(file_get_contents("php://input"), true);

if (!$data) {
    echo json_encode(["success" => false, "message" => "Invalid request"]);
    exit;
}

if (
    empty($data['student_name']) ||
    empty($data['whatsapp']) ||
    empty($data['email'])
) {
    echo json_encode(["success" => false, "message" => "Required fields missing"]);
    exit;
}

// Generate Application ID
$appId = "APP-" . date("Y") . "-" . rand(1000, 9999);

// Prepare Data
$record = [
    "application_id" => $appId,
    "student_name" => $data['student_name'],
    "email" => $data['email'],
    "created_at" => date("Y-m-d H:i:s")
];

// Storage Path
$dir = __DIR__ . "/../storage";
if (!is_dir($dir)) {
    mkdir($dir, 0777, true);
}

$file = $dir . "/admissions.txt";

// Save
file_put_contents($file, json_encode($record) . PHP_EOL, FILE_APPEND);

// Send Email
@mail($data['email'], "Admission Submitted", "Your ID: $appId");

// Response
echo json_encode([
    "success" => true,
    "application_id" => $appId
]);

🔐 Permissions

Make sure storage directory is writable:

chmod -R 777 storage/

🎯 Features

  • Dynamic Session & Class Loading
  • Admission Open/Closed Logic
  • Modal-based Form UI
  • API-based Submission
  • Application ID Generation
  • Email Notification

⚠️ Important Notes

  • Do NOT store data inside vendor/
  • APIs must be created in your project
  • This package is UI + JS only

🚀 Future Improvements

  • MySQL Integration
  • Admin Panel
  • PDF Generation
  • SMTP Email (PHPMailer)

📄 License

MIT License