Application Overview
The Facility Scheduler provides a dynamic calendar view for easy navigation of dates and facilities. Users can quickly see scheduled bookings, and administrators have additional tools for managing the system.
Key Features
Dynamic Calendar
Visual indicators for scheduled days and easy month-to-month navigation.
Schedule Booking
Intuitive form with conflict validation and weekly repeat options.
Facility Filtering
Filter the calendar and schedule list to view bookings for specific facilities.
Admin Panel
Passcode-protected area to manage announcements, facilities, and users.
Usage Analytics
Visual charts for bookings per month and distribution by facility.
Real-time Updates
All data syncs instantly across all users via Firebase Firestore.
Technical Architecture
This application uses a modern client-server architecture with a single-page application frontend and a powerful cloud backend. Interact with the diagram below to see how components connect.
Frontend (SPA)
User Interface
HTML5, Tailwind CSS
Logic
Vanilla JavaScript
Charts
Chart.js (Canvas)
Backend (Cloud)
Database
Firebase Firestore (NoSQL)
Authentication
Firebase Auth (Anonymous)
Real-time Sync
Firestore Listeners
User Guide
Follow this step-by-step guide to learn how to use the core features of the Facility Scheduler. This interactive walkthrough covers everything from navigation to booking.
Booking a Facility
Select a Date
Click a future date on the calendar to view its schedule.
Initiate Booking
Click the "Book a Schedule" button to open the booking form.
Fill Details
Enter teacher name, purpose, and select facility and time.
Confirm
Click "Book Now" to confirm. You'll get instant feedback.
Admin Features
Access Panel
Click the "Admin" button and enter the passcode (provided by the developer).
Manage
Use the dashboard to set announcements and add/remove facilities.
Analyze
Click "View Analytics" to see usage charts.
Export
Download all schedule data with the "Export to CSV" button.
Support & Troubleshooting
Encountering an issue or need assistance? This section provides common troubleshooting steps and contact information for further help.
Common Troubleshooting Steps
- Data Not Loading: Check your browser's developer console for errors. Verify `firebaseConfig` is correct and Firebase Firestore is enabled. Ensure Firestore security rules allow read access.
- Booking Conflicts: Ensure your start and end times are valid and do not overlap with existing bookings for the same facility.
- Admin Passcode Not Working: Ensure you are entering it correctly.
- Features Not Updating in Real-time: Confirm that `onSnapshot` listeners are correctly set up and not being unsubscribed prematurely. Check network connectivity.
- CSV Export Issues: Ensure there is data in the schedules collection to export. Check browser security settings if the download is blocked.
Contact Information
For support or further inquiries regarding the Facility Scheduler application, please reach out to:
Junian Engel M. Molbog via Microsoft Teams