Home Ubonow
Post
Cancel

Ubonow

ubonow

An integrated university scheduling system streamlining study room and gym reservations, coupled with AI-driven recommendations for the least crowded lunch hours, enhancing overall campus efficiency.

Github link: https://github.com/blazegit/UboNow

Features

Login/Register

  • Registration Process:
    • Registration includes client and server-side verification.
    • Javascript deactivation doesn’t hinder the verification process.
    • Limited registration to university domains to ensure only students can register.
    • Password complexity check is enforced during registration.
  • Security Measures:
    • Passwords are securely encrypted using password_hash($password, PASSWORD_DEFAULT) before being stored in the database.
    • Upon registration, a confirmation token is generated and sent to the user’s email for account verification.
  • User Authentication:
    • Verified users can log in to access the system.
  • Session Management:
    • PHP sessions are employed on all pages to enhance security.
    • Users not logged in will be redirected to the login page, ensuring access control across the application.

Ubonow Login Ubonow Register

Dashboard (Inicio/Home)

  • Personalized Overview:
    • Dashboard presents a tailored overview, showcasing essential information:
      • Upcoming class details.
      • Optimal lunch window based on least crowded times.
      • Displays a graphical representation of the day’s calendar, featuring reservations, lunch windows, and class schedules.

    Ubonow Dashboard

Schedule (Horario)

  • Class Management:
    • View, add, or remove classes in a centralized schedule page.
    • Option to request a lunch window time directly from the schedule page.

    • Task Management:
      • Integrates a versatile task management system with the function addTask(startTime, endTime, taskName, dayIndex, className).
      • Ensures readability by handling task collisions gracefully—colliding tasks automatically adjust for optimal visibility.
    • Lunch Time Optimization:
      • Users can request the optimal lunchtime by clicking the “Almuerzo” button, initiating a modal.
      • The system intelligently considers:
        • Student schedules to prevent lunch windows during class hours.
        • User-defined preferences for specific days of the week.
      • You can find the AI python file in the “AI” folder, which is being hosted on an external flusk server.

Ubonow Schedule

Reservation (Reserva)

  • Reservation Options:
    • Two reservation options available: study room or gym hour.
    • Displays current reservations with the ability to cancel them.
  • Straightforward Reservation Process:
    • Making a reservation is user-friendly—simply click on the desired reservation type (study room or gym), choose the location, day, and hour.

reservation

AI

The AI module, hosted on a Flask server, is designed to optimize lunchtime recommendations based on class schedules. Here’s a concise overview of the algorithm:

Clustering Algorithm

The core of the AI functionality revolves around a clustering algorithm, specifically the K-Means clustering algorithm from the scikit-learn library. This algorithm is employed to identify patterns in class schedules and determine the concentration of students in classes.

Logic Overview

  1. Data Preparation:
    • The system collects class schedules from various students, considering different days of the week.
  2. Clustering:
    • For each day, the system applies K-Means clustering to identify clusters of class schedules.
  3. Optimal Lunch Window:
    • The algorithm finds the optimal lunch window by analyzing the cluster centers.
    • It avoids lunch windows that overlap with the requesting student’s class hours, ensuring that students are not in classes during the recommended lunchtime.

Feel free to explore the code in the “AI” folder for a more in-depth understanding of the implementation details.

Database

The database is powered by MySQL. Here’s a general overview:

Ubonow Schedule

This post is licensed under CC BY 4.0 by the author.
Trending Tags