# University Management System

Laravel 12 scaffold generated from `prd.md` and `laravel-ready-prd.md`.

## What Is Included

- Laravel package manifest in `composer.json`
- Core database schema migration for students, teachers, subjects, classes, enrollments, attendance, grades, invoices, payments, staff, and audit logs
- Eloquent models and relationships
- Student, teaching, admin, and webhook route files
- Enrollment service with the main PRD rules
- Payment gateway abstraction for bKash, Stripe, and PayPal
- Modern GSAP-ready public website with hero image slider, courses, course details, events, FAQs, gallery, news, and admission pages
- Redesigned student, teacher, and admin login pages with separate portal entry points
- Blade screens for student dashboard, course catalog, billing, admin dashboard, and teacher portal

## Install

This workspace uses XAMPP PHP at `D:\xampp\php\php.exe` and a local `composer.phar`.

```bash
D:\xampp\php\php.exe composer.phar install
cp .env.example .env
D:\xampp\php\php.exe artisan key:generate
D:\xampp\php\php.exe artisan migrate --seed
D:\xampp\php\php.exe artisan serve --host=127.0.0.1 --port=8001
```

If starting from a fresh Laravel install, copy these generated `app/`, `routes/`, `database/`, and `resources/` files into the Laravel project.

## Current Local Status

The app has been installed, migrated, and seeded in this folder. It is running at:

```text
http://127.0.0.1:8001
```

SQLite is currently enabled in `.env` because the local XAMPP MariaDB service did not stay running. When MySQL is healthy again, change `.env` back to:

```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ums
DB_USERNAME=root
DB_PASSWORD=
```

Seeded demo accounts all use password `password`:

- `student@ums.test`
- `teacher@ums.test`
- `admin@ums.test`

## Main Routes

- `/` public homepage with sliding hero images
- `/course` public paid course/program listing
- `/course/public-administration` sample course detail page
- `/course/computer-engineering` sample course detail page
- `/event` public event listing
- `/event/ui-ux-workshop` sample event detail with start/end timing
- `/faqs` public FAQ page
- `/gallery` public university gallery
- `/news` public news listing
- `/news/fall-2026-admission-open` sample news detail page
- `/admission` online admission application
- `/student/login` student portal login
- `/teacher/login` teacher portal login
- `/admin/login` admin/staff portal login
- `/student/dashboard` student dashboard
- `/courses` authenticated student course catalog
- `/billing` authenticated student billing
- `/admin` management dashboard
- `/admin/front-web` admin Front Web Manager demo
- `/teaching` teacher portal
- `/webhooks/payments/{gateway}` payment webhooks

## Front Website Notes

The public pages are currently powered by seeded/static demo content so the UI is ready to review immediately. The layout already includes navigation and placeholders for future admin-managed sliders, paid courses, gallery uploads, events with start/end time, FAQs, and news.

Run the smoke test with:

```bash
D:\xampp\php\php.exe artisan test
```
