TTU Computer Lab Management System Documentation
v1.0.0TTU Computer Lab Management System Documentation


Version: 1.0.0
Updated: May 27, 2025
By: Ayub Henry
Introduction
The TTU Computer Lab Management System is a comprehensive, secure, and user-friendly web application developed for Taita Taveta University. It streamlines the management of computer laboratory resources including computer bookings, lab sessions, analytics, and communication between users and administrators. This document serves as a complete reference for end-users, lab administrators, and system maintainers.
System Overview
Built on Django 5.1, the system provides a modular, scalable platform tailored for university lab environments.
Features
- Real-time lab and system availability
- Booking confirmations & cancellations
- Historical booking tracking
- Automated email reminders
Features
Core Features
- Lab Computer Booking
- User Management
- Lab Administration
- Analytics & Reporting
- Communication
Additional Features
- Student feedback & ratings
- Mobile responsive UI
- FAQ & support contact form
User Roles
Students
- Register and manage accounts
- Book and view computer sessions
- Rate lab experiences
- Subscribe to newsletters
Lab Administrators
- Approve or reject bookings
- Manage computer inventory
- Schedule maintenance and lab hours
- Access lab usage analytics
- Communicate with students
System Administrators
- Manage all user accounts and permissions
- Configure core system settings
- Access all backend reports and logs
- Oversee newsletter campaigns
Technical Architecture
Technology Stack
- Backend: Django 5.1
- Database: PostgreSQL (Production) / SQLite (Development)
- Frontend: HTML, Tailwind CSS, JavaScript
- Queue Management: Celery with Redis
- Email System: SMTP with Django Allauth
- Deployment: HTTPS-enabled WSGI server
System Components
- booking: Manages lab reservations
- analytics: Gathers and visualizes usage metrics
- contact: Handles user inquiries
- newsletter: Subscription and campaign management
Security Features
- SSL/TLS Encryption
- CSRF Protection
- Role-Based Access
- Email Verification
Background Tasks
- Booking reminders
- Session end alerts
- Automated report generation
- Newsletter distribution
Installation & Setup
Prerequisites
- Python 3.10+
- PostgreSQL
- Redis
- SMTP server
Environment Variables
Use a .env file to manage sensitive settings:
- DJANGO_SECRET_KEY
- DATABASE_URL
- EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD
- ADMIN_USER_NAME, ADMIN_USER_EMAIL
- BASE_URL
Deployment Steps
- Clone repository
- Set up .env variables
- Install dependencies: pip install -r requirements.txt
- Apply migrations: python manage.py migrate
- Collect static files: python manage.py collectstatic
- Start background workers: celery -A src worker -l info
- celery -A src beat -l info
- Deploy using Gunicorn or another WSGI server
User Guides
Student Guide
- π¨βππ¨βππ¨βππ¨βππ¨βπ
Registration
- Visit the registration page
- Verify email via confirmation link
- Complete your profile
Lab & Computer Management
- Add/edit lab details
- Manage computer inventory
- Define operating hours
Booking a Computer
- Log in and view available labs
- Select your preferred time and system
- Confirm booking
- Receive confirmation email
Administrator Guide
- π¨βπΌπ¨βπΌπ¨βπΌπ¨βπΌπ¨βπΌ
Booking Oversight
- View and manage all reservations
- Approve/reject requests
- Resolve booking conflicts
- Export booking reports
Managing Bookings
- Access dashboard to view bookings
- Cancel or update future bookings
- Provide feedback after session
Troubleshooting
Booking Conflicts
- Check for overlapping times
- Ensure lab availability is up-to-date
Email Issues
- Validate SMTP settings
- Inspect spam folders
- Confirm valid email entries
Performance
- Monitor resource usage (RAM/CPU)
- Optimize heavy queries
- Use static file caching
Logs
- Logs stored in /var/logs/ictlabs/
- Error alerts sent to admin email
- Debug mode for local environments
Support & Maintenance
Contact
- Technical Support: ictlabs@ttu.ac.ke
- System Admin: ictlabs@ttu.ac.ke
Maintenance
- Routine Updates: 1st Sunday of every month
- Emergency Patches: As needed
- Downtime Alerts: Announced via newsletter and site banner
Contact Information
Technical Support:
ictlabs@ttu.ac.ke
System Administrator:
ictlabs@ttu.ac.ke
© 2025 Taita Taveta University. All rights reserved.