# Excellent Education & Counselling Services — CMS Vanilla PHP + MySQL site with a full admin panel. No framework, no Composer — works on any standard PHP/MySQL hosting (shared hosting, XAMPP/WAMP, LAMP VPS). ## Requirements - PHP 8.0+ - MySQL 5.7+ / MariaDB - `pdo_mysql` and `gd` or `fileinfo` PHP extensions enabled (for image uploads) ## Installation 1. Copy the entire `cms/` folder to your web root (e.g. `htdocs/excellent-cms`, or the domain root if this is the whole site). 2. Create a MySQL database and import `database/schema.sql` (contains all tables + seed data for the current site content). 3. Open `config/db.php` and set `DB_HOST`, `DB_NAME`, `DB_USER`, `DB_PASS` to match your database, and `SITE_URL` to your live domain (no trailing slash). 4. Make sure the `uploads/` folder (and its subfolders) is writable by the web server: `chmod -R 775 uploads`. 5. Update `robots.txt` — replace the placeholder Sitemap URL with your real domain. 6. Visit `/admin/login.php` and log in with the default account below. ## Default admin login - URL: `/admin/login.php` - Username: `admin` - Password: `Admin@123` **Change this password immediately after first login** (Admin panel → top-right profile → Change Password), and consider creating a personal named account and removing/demoting the shared default one. ## What's editable from the admin panel - General Settings: address, phone/email, Google Map embed, social links (Facebook/Instagram/YouTube/TikTok), WhatsApp number, site logo, favicon, footer text, default SEO meta, branch offices. - Homepage: hero sliders, features, services, testimonials, partners/affiliations. - About Us: company profile, mission/vision, Chairman's message + photo, team members, FAQs. - Study Abroad: all country pages (why-study points, cost breakdown, universities, scholarships, visa steps, gallery) — add/edit/delete countries freely, each gets its own clean URL automatically. - Test Preparation: all program pages (syllabus, class schedule, FAQs) — same add/edit/delete behavior. - Gallery: categories + images. - Blog: categories + posts with a rich-text editor (CKEditor), featured image, tags, SEO fields, draft/published status. - Leads & Contact Messages: view and export (CSV) everything submitted through site forms. - Users: create additional admin/editor/counsellor accounts with role-based permissions. Every content page also has its own SEO title/description fields, and the site auto-generates `sitemap.php` and canonical/Open Graph tags from live data — no manual sitemap maintenance needed. ## Adding new Study Abroad countries or Test Prep programs Just use "Add New" in the admin panel. The system automatically creates the public-facing page and clean URL (e.g. `study-abroad-japan.php`) — no developer needed. Deleting a record removes its public page too. ## Scope notes — intentionally not built These were not part of this build and would need to be scoped as separate additions if wanted later: - Events/Seminars module (removed per earlier request; can be re-added) - Careers/Jobs module - Drag-and-drop menu builder (menu structure is currently fixed to match the approved site design) - Dedicated media library browser (images are uploaded per-field; there's no central "browse all uploaded images" screen) - Multi-language support - Automated email notifications on new leads/messages (currently stored in DB only, viewed in admin) - Online payment or appointment booking ## Security notes - All database queries use prepared statements (PDO). - Passwords are hashed with bcrypt. - Admin forms are CSRF-protected; public forms have a honeypot spam trap. - Recommended: serve the site over HTTPS in production, and restrict `/admin/` further with server-level IP allowlisting if desired.