Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 

Repository files navigation

πŸ“˜ Esoft Practicals Reservation System

πŸ”Ή Project Name: Esoft-Practicals-Reservation-System


πŸ“ Description

Esoft Practicals Reservation System is a desktop application currently in use at Esoft Piliyandala.
It allows students to book a practical session by choosing a convenient date and time, and reserve a computer (PC) for their individual session.

This system ensures organized scheduling and avoids conflicts in lab availability, streamlining the practical teaching process.


πŸ› οΈ Built With

  • Programming Language: C#
  • Platform: Windows Desktop Application
  • Framework: .NET Framework
  • Database: SQL Server / LocalDB
  • Third-party Tools: Guna UI2 (for modern UI design)

πŸ’Ύ Installation Guide

Follow these steps to install the system:

  1. Download the folder named Esoft Practicals Reservation.
  2. Open the Esoft Practicals Reservation folder.
  3. Go inside the Debug folder located within it.
  4. Double-click on the file named EsoftPracticalsReservation.msi.
  5. On the welcome screen, click Next.
  6. Browse and select the location where you want to install the software.
  7. Click Next to proceed.
  8. Confirm the installation by clicking Next again.
  9. Wait until the installation completes.

πŸ“‚ After Installation

The system will be installed in the following directory:

C:\Program Files (x86)\Methum Minsuka\EsoftPracticalsReservation\

Inside this folder, you'll find the following two important files:

  • Database.mdf
  • Database_log.ldf

πŸ” Granting Database Permissions

To ensure the system works correctly with the database, follow these steps:

  1. Right-click on each of the following files:

    • Database.mdf
    • Database_log.ldf
  2. Select Properties.

  3. Go to the Security tab.

  4. Click the Edit button under:

    β€œTo change permissions, click Edit”

  5. In the list of user groups, select each of the following and provide Full control access:

    • ALL APPLICATION PACKAGES
    • ALL RESTRICTED APPLICATION PACKAGES
    • Users (YourPCName\Users)
  6. After granting Full control to all, click Apply, then OK.

  7. You can now open the system using the desktop shortcut that was created during installation.

Desktop Shortcut


βœ… Features

The system offers two main sets of features:

  • πŸ”’ Admin Features
  • πŸ‘€ User Features

πŸ”’ Admin Features

  1. Secure Login Access

Admin Login Page

Enter the Admin Password into the text box and click the Admin Login button.
If the password is correct, you will be redirected to the Admin Panel.

  1. View Reservations

Admin View Reservations

Admins can view all reservation records submitted by students.

Admins can also filter reservations based on:

  • βœ… Specific date range (From – To)
  • πŸ†” Student Registration Number
  • πŸ”’ Batch Code
  • 🏷️ Course Category
  • πŸ• Reserved time slot
  • πŸšͺ Attendance status (Whether the student actually attended or not)

βœ… This allows for detailed tracking, monitoring, and reporting of student practical sessions.

  1. View Registered Users

Admin View Registered Users

Admins can view a complete list of all registered students within the system.

Additionally, the list can be filtered using the following criteria:

  • πŸ†” Registration Number
  • 🧍 First Name
  • πŸ§β€β™‚οΈ Last Name
  • πŸ”’ Batch Code
  • 🏷️ Course Category

✏️ Update or Delete Users

  • Admins can update student details such as name, batch, or course if corrections are needed.
  • If necessary, delete a student’s record completely from the system.

βœ… This functionality helps maintain an accurate and up-to-date student database.

  1. Mark Holidays

Admin Mark Holidays

Admins can block specific days to prevent students from making reservations on those dates.
This feature includes a set of controls for managing holiday entries efficiently.

🧰 Interface Components:

  • πŸ“… Date Picker – Select the date you want to mark as a holiday.
  • πŸ“ Reason TextBox – Provide a reason or note for the holiday.
  • πŸ” Search Button – Check if a holiday entry already exists for the selected date.
  • πŸ“‹ All Button – View a list of all holidays and their reasons.
  • πŸ’Ύ Save Button – Save a new holiday date along with its reason.
  • ✏️ Edit Button – Modify the reason for an already saved holiday.
  • πŸ—‘οΈ Delete Button – Completely remove a holiday entry.

βš™οΈ Functional Behavior:

  • When a date is selected via the Date Picker and a reason is entered, clicking Save will block that date from future reservations.
  • Use Edit to update the reason for an existing holiday.
  • Delete permanently removes the selected holiday date.
  • All displays every date that has been marked as a holiday, along with reasons.
  • Use Search after selecting a date to check whether it has already been saved as a holiday.

βœ… This feature helps ensure that reservations are only possible on working days, maintaining proper scheduling discipline.

  1. Limit Weekly Reservations

Admin Limit Weekly Reservations

This feature allows the admin to control how many reservations a single student can make within a week.

A week is defined as starting from Monday and ending on Sunday.

βš™οΈ Functionality:

  • Admins can specify the maximum number of reservations allowed per student for each calendar week.
  • Once the limit is reached, the student will be restricted from making additional reservations until the next week begins.
  • This helps ensure fair usage of lab resources and gives all students equal opportunity.

βœ… Especially useful in environments with limited PC availability and high student demand.

  1. Block Faulty PCs

Admin Block Faulty PCs

If a specific PC is malfunctioning or unavailable due to any issue, admins can use this feature to block that PC within the system.

βš™οΈ Functionality:

  • Blocked PCs will no longer appear in the reservation list for students.
  • Students will be unable to select or reserve any PC that has been marked as faulty.
  • This ensures a smooth user experience by preventing booking of unusable machines.

βœ… Useful for maintaining reservation reliability and minimizing disruptions during practical sessions.

  1. Adjust Calendar Range

Admin Adjust Calendar Range

This feature allows admins to define how many days into the future students are allowed to view and make reservations.

βš™οΈ Functionality:

  • The system starts counting from today’s date.
  • Admins can configure the number of future days shown in the reservation calendar.
  • Students will only be able to book sessions within this allowed date range.

βœ… Helps control reservation visibility and limit far-ahead bookings.

  1. Block Specific Users

Admin Block Specific Users

Admins have the ability to block individual students from making reservations.

βš™οΈ Functionality:

  • A student can be blocked for disciplinary reasons or any other valid concern.
  • Once blocked, the student will be restricted from making any further reservations.
  • The block remains active until the admin manually unblocks the user.

βœ… Useful for handling misuse of the system or enforcing specific policies.

  1. Export Backup Data

Admins can export all system data as a backup in either Microsoft Excel or Microsoft Access formats.

πŸ“ Features:

  • Export includes: Registered users, reservations, holidays, blocked users, and system configurations.
  • Useful for data recovery, reporting, or migration purposes.
  • Backup files can be saved locally and reused later if needed.

πŸ” Ensures data safety and gives flexibility for offline review or audits.

πŸ‘€ User Features

  1. Create Account

    New students must first create an account before using the reservation system.

    During registration, students are required to provide the following details:

    • 🧍 First Name
    • πŸ§β€β™‚οΈ Last Name
    • πŸ†” Registration Number
    • πŸ”’ Batch Number
    • 🏷️ Course Category (Certificate, Diploma, Extended Batch, HND)

    Once the account is created, the student will be added to the system’s database and can proceed to log in and make reservations.


  1. Login with Registration Number

    • Students can log into the system by simply entering their Registration Number.
    • The login process is quick and secure, ensuring only registered students can access reservation features.
    • Upon successful login, the system will display the student’s dashboard with available booking options.

  1. Make a Reservation

    • Students can select a date, time slot, and the specific PC number they wish to reserve.
    • The system will automatically prevent bookings on:
      • πŸ“… Holiday dates marked by the admin
      • β›” Blocked PCs
      • βš–οΈ Weeks where the student has reached their reservation limit
    • Real-time PC Availability:
      • If another student has already reserved a PC for the selected date and time slot, that PC will be displayed in red.
      • Clicking on a red (reserved) PC will show the details of the student who booked it.
    • Once confirmed, the reservation will be saved in the database and visible in the student’s booking history.

Make a Reservation

βœ… This simple process ensures students can conveniently secure their practical session without scheduling conflicts.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors