Skip to content

Repository files navigation

Computer Lab Management System

A cross-platform mobile application designed to improve the management and use of university computer labs, study spaces, audiovisual rooms, and other shared resources.

Overview

Managing shared university spaces and equipment can become difficult when availability, reservations, equipment status, and usage records are handled through disconnected processes.

The Computer Lab Management System provides a centralized application for managing computer equipment and other shared resources within a university environment.

Students can check the availability and status of computers and other spaces, make reservations, report equipment issues, and review their usage.

Administrators can manage resources, control reservations, update equipment status, manage schedules, review usage history, and report operational incidents.

The application was designed to provide a more organized and efficient way to manage shared university resources.

Features

Student

  • User authentication
  • View computer availability and status
  • Reserve computers and shared spaces
  • Reserve audiovisual rooms
  • Reserve study tables
  • Reserve independent study rooms
  • Report equipment damage or issues
  • View reservation information
  • Receive application notifications
  • Review usage history

Administrator

  • Manage computers and shared resources
  • Update resource status
  • Manage reservations
  • Suspend or cancel reservations
  • Manage schedules and availability
  • Review usage history
  • Manage reported incidents and issues
  • Monitor computer and resource availability
  • Report operational updates and incidents

Resource Management

The application supports the management of different types of university resources, including:

  • Computer equipment
  • Audiovisual rooms
  • Study tables
  • Independent study rooms

Computers and other resources can have different availability states:

  • Available
  • In use
  • Under maintenance
  • Unavailable

Technologies

Technology Purpose
Flutter Cross-platform mobile application development
Dart Application programming language
Supabase Database, user management, and application backend
Firebase Push notifications and mobile notification services

Architecture

The application is built with Flutter and separates the user interface, application logic, and backend services.

Supabase is used as the primary backend service for application data and user management, while Firebase is used for mobile push notifications.

Backend Services

Supabase

Supabase is responsible for the main application data and backend functionality, including:

  • User-related data
  • Computer records
  • Resource information
  • Reservations
  • Schedules
  • Usage history
  • Reported issues
  • Other application records

Firebase

Firebase is used for the application's notification system, allowing users to receive mobile push notifications related to application events.

Project Structure

The project follows the standard Flutter project structure, with the main application source code contained within the lib/ directory.

computer-lab-management-system/
│
├── android/
├── ios/
├── lib/
├── linux/
├── macos/
├── test/
├── web/
├── windows/
├── pubspec.yaml
└── ...

Getting Started

Requirements

  • Flutter SDK
  • Dart SDK
  • Android Studio or another compatible Flutter development environment
  • Android emulator or physical Android device
  • Supabase project configuration
  • Firebase project configuration

Installation

  1. Clone the repository:

    git clone [https://github.com/SaVR0/computer-lab-management-system.git](https://github.com/SaVR0/computer-lab-management-system.git)
  2. Move into the project directory:

    cd computer-lab-management-system
  3. Install the project dependencies:

    flutter pub get
  4. Configure the required Supabase credentials and project settings.

  5. Configure Firebase and the required notification services.

  6. Run the application:

    flutter run

Note: Additional configuration may be required depending on the target platform and development environment.

Project Status

The application is fully functional and its main features have been implemented. The current version supports:

  • Resource management
  • Computer status tracking
  • Reservations
  • Incident reporting
  • Usage history
  • Administrative management
  • Mobile notifications

Although the application is functional, there are opportunities for further optimization, improvements in user experience, and architectural refinement.

Future Improvements

Potential improvements for future versions include:

  • Improving application performance and resource usage
  • Optimizing the application architecture
  • Improving the user interface and user experience
  • Adding more advanced reservation management
  • Expanding reporting and analytics capabilities
  • Improving notification management
  • Adding more detailed resource usage statistics
  • Strengthening application security
  • Improving scalability and maintainability

Screenshots

The following screenshots showcase the main workflows and interfaces of the application.

Home / Dashboard

home_estudinate home_admin

Computer Availability

sala_pc

Resource Reservation

recurso

Resource Management

admin_recurso

Usage History

historia_admin

About

Mobile app for managing university labs, resources, reservations, and equipment.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages