ROOMWISE LIVE OVERVIEW

Main Dashboard

Loading your latest system statistics…

Total Records— Rooms, accounts and reservations in your view
Total Transactions— Reservation records in your view
Active Users— Current activity scope
Daily Activity Count— Reservations created today

Monthly Transactions

Daily Activity

User Activity

System Usage Trends

Recent Transactions

Loading…

Latest Activities

Loading…

Notifications

Loading…

System Status

Checking services…

LIVE

Find your next
productive space.

The right room, at the right time. Let Roomwise resolve the conflicts and surface the best fit.

18rooms across
2 buildings
01

Make a reservation

Department availability live

Reservations can be scheduled from 6:00 AM to 11:59 PM. Past dates and overnight bookings are not available.

Choose a subject group to attach this reservation to its year, track, and section. Only students who join its code can view it.

Choose a subject group for this reservation. Only students who join its code can see this schedule.

DECISION SUPPORT RESULTS

Recommended spaces 3 matches

YOUR DEPARTMENT FOOTPRINT

Upcoming reservations

STUDENT VIEW · READ ONLY

Your professor-assigned rooms

Your professor will reserve a room for your class or activity. You can view the room, date, time, and professor here, but students cannot create reservations.

PERSONAL SCHEDULE

My reservations

Manage bookings and keep completed reservations in your history.

Reservation history is sorted by date and start time, newest first.

CCSICT INVENTORY

Room directory

Browse spaces by capacity, features, and current availability.

SHARED DEPARTMENT CALENDAR

Who has the room?

The calendar shows only schedules attached to subject groups you joined with a code.

All upcoming room reservations Confirmed Pending Completed Cancelled / rejected

STUDENT ACCESS

Join a subject schedule

Ask your professor for the code created for your year, track, and section.

STUDENT ACCESS

Legacy access requests

Review requests from the older professor-wide access-code flow. New students should join a subject group with its code.

Pending student requests
No pending student requests.

APPROVED PROFESSOR SCHEDULE

Professor schedule

ADMINISTRATION

CCSICT control room

Review every reservation, identify conflicts, and keep room allocation transparent.

0Total bookings
0Professor bookings
0Pending review

ACCOUNTABILITY

Activity Log / Audit Trail

Administrative actions are recorded with the account, activity, date, time, and available IP address.

Loading activity…

User IDFull nameActivityDateTimeIP address
Loading activity…
Page 1

FACILITY UTILIZATION & DEMAND

REPORTS MODULE

Build a printable report

Reports use your current filters and include the school header and generation date.

Reservation history is sorted by date and start time, newest first.

Peak demand hours

Requested features

Building occupancy

ACCOUNT SECURITY

Change administrator password

Use at least 8 characters, including lowercase, uppercase, a number, and a special character.

ADMINISTRATOR ONLY

System Restore & Backups

Restore a complete Roomwise SQL data backup. The restore replaces data in all application tables; keep a copy of the current data first. ZIP uploads must contain exactly one SQL backup.

A full SQL backup must include DELETE FROM and INSERT INTO statements for every Roomwise table.

ACCOUNT MANAGEMENT

User Accounts

Search accounts, update roles, and email student password reset links. You cannot change your own role or remove the last administrator.

Loading accounts…

ROOMWISE · PRODUCT DOCUMENTATION

Product Requirements Document

Product definition and functional requirements for the Roomwise room reservation and facility allocation system.

Product Roomwise Version 1.0 Updated November 7, 2026 Status Current application scope

1. Product overview

Roomwise is a web-based room reservation and facility allocation decision-support system for the CCSICT department. It helps authorized users find suitable rooms, review availability, coordinate professor-led class schedules, and manage reservation records.

The system ranks rooms using requested capacity and features, shows reservation conflicts, and provides dashboards and reports based on the records visible to the signed-in user.

2. Goals and scope

  • Make department room availability and reservation schedules easier to review.
  • Help professors select a room that fits an activity's capacity and feature needs.
  • Keep student schedule access tied to professor-created subject groups.
  • Give administrators tools to review reservations, manage accounts, and monitor system activity.
  • Support account recovery without exposing existing passwords to administrators.

In scope

Account registration and sign-in; professor approval; room directory and recommendations; reservation creation, review, updates, and history; subject-group access; account recovery; dashboards; and printable or downloadable reports.

Out of scope

Payment processing, automatic class timetable generation, external identity-provider integration, and native mobile applications are not part of the current application.

3. Users and permissions

UserPrimary capabilitiesRestrictions
StudentView rooms and availability; join subject groups with professor-issued codes; view eligible professor schedules; manage own profile and password.Cannot create or manage reservations. Schedule visibility is limited to joined subject groups.
ProfessorCreate and manage own reservations; create subject groups and access codes; review schedules and reservation history; manage own profile and password.New professor accounts require administrator approval before sign-in.
AdministratorReview reservations; manage accounts and roles; approve or reject professor accounts; send student or professor password reset links; review analytics, audit activity, and backups.Cannot change their own role or remove the last administrator through account management.
Demo accountExplore room availability, recommendations, and visible reservation information.Read-only: cannot create, edit, complete, or delete reservations.

4. Functional requirements

  1. Authentication and accounts: Users can register as students or professors using a valid email address. Sign-in requires a role and CAPTCHA. New professor accounts remain pending until an administrator approves them; pending or rejected professors cannot sign in.
  2. Password recovery: A user can request a time-limited password reset link by email. Administrators can send reset links to the registered address for student and professor accounts. The user chooses their own new password; administrators never receive or set it.
  3. Room discovery: Users can browse the room directory and review capacity, room type, features, building, and availability. The recommendation view ranks matching rooms using requested capacity and features and indicates conflicts.
  4. Reservations: Approved professors can create reservations for a subject group, view their bookings, edit or delete their own reservations, and mark eligible bookings complete. Administrators can review pending requests and approve or reject them.
  5. Student schedule access: Professors can create subject groups with cohort details and an access code. Students can request access with the code and view schedules for groups they have joined.
  6. Administration: Administrators can search accounts, filter student and professor accounts, change other users' roles, approve or reject professor registrations, and review audit activity.
  7. Dashboards and reports: The dashboard presents role-scoped reservation and account metrics. Administrators can filter analytics and generate reports from available reservation, user, and activity data.
  8. Notifications and session handling: The system reports important actions and errors to users, supports live reservation updates, and signs users out when their account is no longer valid.

5. Business rules

  • Only approved professor accounts can sign in as professors; new professor accounts begin in pending status.
  • Students and built-in demo accounts cannot manage reservations. Demo accounts are limited to viewing.
  • Professor-created reservations must be associated with a subject group owned by that professor.
  • Reservation dates cannot be in the past. Times must be on the same day, between 6:00 AM and 11:59 PM, using whole-minute intervals; overnight bookings are not allowed.
  • A room cannot be reserved for overlapping times. Completed reservations remain in history and no longer block availability.
  • Password recovery links expire after 30 minutes and can be used only once. Email delivery requires the application’s SMTP configuration.
  • Dashboard data is scoped to the signed-in user's permissions; administrators can review system-wide information.

6. Quality and operational requirements

  • Security: Protected actions require an authenticated session and server-side authorization. Mutating requests use CSRF protection. Passwords are stored as hashes; reset tokens are stored as hashes rather than plaintext.
  • Privacy: Users see only schedules and account actions permitted by their role. Password reset links go to the account's registered email address.
  • Reliability: Reservation conflicts and account permissions are checked by the server, not only by the browser interface. Errors should be communicated without reporting a failed action as successful.
  • Usability: The interface should provide clear status, validation, and confirmation messages, and remain usable on desktop and narrow screens.
  • Operations: The application runs with PHP, MySQL, and Apache. Email-dependent features require Composer mail dependencies and SMTP settings to be configured.

7. Acceptance criteria

  • Users can open this document from the Help button and return to other app views using normal navigation.
  • A pending professor is prevented from signing in and sees an administrator-approval message.
  • A student can view only schedules for subject groups they have joined and cannot create reservations.
  • A demo account can explore room recommendations and existing reservations, but reservation changes are rejected by the server.
  • A professor can create a valid reservation for an owned subject group, and conflicting or invalid bookings are rejected.
  • An administrator can approve or reject reservation requests and professor accounts, and email password reset links to student or professor accounts.
  • A valid reset link allows its recipient to set a compliant password once before it expires.
  • Dashboard and report information respects role permissions and the selected filters.

This document describes the current Roomwise application behavior and scope. Features may depend on correct database, Apache/PHP, and email configuration.

ROOMWISE · ENGINEERING DOCUMENTATION

Technical Requirements Document

Runtime, infrastructure, configuration, security, and operational requirements for deploying and maintaining Roomwise.

Product Roomwise Version 1.0 Updated November 7, 2026 Environment XAMPP / Apache / PHP / MySQL

1. System architecture

Roomwise is a browser-based application served from an Apache web root. The client uses HTML, CSS, and vanilla JavaScript; PHP API endpoints handle authentication, database operations, permissions, email, reporting, and administration. MySQL stores users, rooms, reservations, subject groups, audit events, and password-reset records.

  • Presentation: index.html, styles.css, and app.js.
  • Application/API: PHP scripts under api/; JSON is used for client/API payloads.
  • Data: MySQL accessed through PHP PDO with the PDO MySQL driver.
  • Email: PHPMailer installed with Composer and connected to an SMTP server.
  • Build process: The client is served directly; no JavaScript bundler or frontend package installation is required.

2. Server runtime requirements

ComponentRequirementNotes
Web serverApache with PHP enabledFor local development, use XAMPP with Apache and MySQL running.
PHPPHP 8.x recommendedThe current development environment has been checked with PHP 8.2.12. Required capabilities include PDO, PDO MySQL, JSON, sessions, OpenSSL/TLS, secure random bytes, and password hashing.
DatabaseMySQL with InnoDB and utf8mb4 supportThe application uses transactions, prepared statements, indexes, and MySQL-specific SQL functions. A compatible MySQL version should be used; MariaDB compatibility should be verified against the installed release.
ComposerComposer 2 recommendedRun composer install to install PHPMailer from the project manifest and lock file when available.
PHP extensionsPDO MySQL, JSON, OpenSSLEnable these in the PHP configuration used by Apache. SMTP email delivery requires TLS support.

3. Database requirements

  • Create/import the ccsict_room_reservation database using db/ccsict_room_reservation.sql.
  • Use InnoDB tables and utf8mb4 character encoding. The connection is configured in db_connect.php and uses PDO exception mode, associative fetches, and native prepared statements.
  • For existing installations, apply the database migrations documented in README.md, then run db/update_room_inventory.sql.
  • Database connection failures are written to the PHP error log; verify the database name, user, password, host, and privileges if the API reports an unavailable database.
  • Back up the database before applying migrations or restoring data. The restore workflow replaces application data and should only be used by an administrator.

4. Browser and client requirements

  • Use a current version of Microsoft Edge, Google Chrome, Mozilla Firefox, or Safari with JavaScript enabled.
  • The client requires modern browser support for Fetch, Promises, async/await, optional chaining, URL/history APIs, CSS Grid and Flexbox, and HTML form validation.
  • Canvas support is used for dashboard charts. Printing uses the browser print dialog.
  • Serve the app over HTTP/HTTPS through Apache. Opening index.html directly as a file does not provide the PHP API and database-backed features.
  • For production, use HTTPS so session cookies and password-reset links are protected in transit.

5. Configuration requirements

Database

Set the database host, schema name, username, and password in db_connect.php. The sample XAMPP defaults are for local development only and must be replaced with a least-privilege database account in a deployed environment.

Email and password recovery

Install Composer dependencies and provide these environment variables to the PHP process used by Apache:

ROOMWISE_SMTP_HOST
ROOMWISE_SMTP_PORT
ROOMWISE_SMTP_USER
ROOMWISE_SMTP_PASS
ROOMWISE_SMTP_FROM
ROOMWISE_SMTP_NAME
ROOMWISE_BASE_URL

Use a valid public application URL for ROOMWISE_BASE_URL. SMTP credentials must be stored outside source control. Email-dependent registration notices and password recovery will fail to deliver if SMTP is not configured.

6. Security requirements

  • All protected API operations must authenticate the session and authorize the requested action by role and account ownership on the server.
  • Mutating API calls must carry a valid CSRF token. Authentication challenges are session-bound and short-lived.
  • Passwords must be stored using PHP password hashing. Password recovery tokens must be random, single-use, time-limited, and stored as cryptographic hashes.
  • Use secure, HttpOnly, SameSite session cookies; enable the Secure cookie attribute when served over HTTPS.
  • Use prepared SQL statements for values. Do not expose database credentials, SMTP secrets, reset tokens, or detailed internal errors to client responses.
  • Configure the deployed database account with only the permissions the app requires. Restrict access to backups, logs, configuration files, and Composer metadata.

7. Operations and deployment

  1. Install XAMPP or a compatible Apache, PHP, and MySQL environment; start Apache and MySQL.
  2. Place the application in the Apache document root, import the fresh-install SQL, apply any required migrations, and configure the database connection.
  3. Run composer install in the application directory and configure SMTP environment variables for Apache/PHP when email features are needed.
  4. Set ROOMWISE_BASE_URL to the correct app URL and verify that reset emails link back to the deployed instance.
  5. For production, use HTTPS, non-demo credentials, a protected database account, regular off-site backups, and access-controlled PHP/Apache logs.
  6. The application uses Asia/Manila for reservation date/time processing. Confirm the server timezone and business expectations before deployment.

8. Deployment verification

  • The app page loads through the Apache URL, and PHP API responses are valid JSON.
  • MySQL connection and authentication work; reservations persist and role/ownership checks are enforced.
  • Students and demo accounts cannot mutate reservations; unauthorized API calls are rejected server-side.
  • Professor approval, CSRF validation, CAPTCHA-protected login, and session expiry behave as expected.
  • SMTP can deliver a test account or password-reset email, and links use the configured public base URL.
  • Backups can be created, and restoration is tested only against a safe test database or verified backup environment.

These requirements describe the current implementation and its XAMPP development setup. Confirm PHP/MySQL versions and deployment-specific limits with the target hosting provider before production rollout.