TTU Computer Lab Management System Documentation

v1.0.0
TTU Logo

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

Newsletter Campaigns

  • Create & segment subscriber lists
  • Schedule and send campaigns
  • Monitor open and click rates

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.