|
| 1 | +# Attendance Management System |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +This project provides a comprehensive Attendance Management System, designed to track and manage student attendance efficiently. The system allows users to add students and subjects temporarily, create attendance registers, and perform various operations on the attendance data. |
| 6 | + |
| 7 | +## Features |
| 8 | + |
| 9 | +1. **Add Students**: Temporarily store student information (name and roll number). |
| 10 | +2. **Add Subjects**: Temporarily store subject names. |
| 11 | +3. **Display Students**: Display all temporarily saved students. |
| 12 | +4. **Display Subjects**: Display all temporarily saved subjects. |
| 13 | +5. **Create Attendance Register**: Create a default or dynamic attendance register with customizable options. |
| 14 | +6. **Read Attendance Register**: Read and display the content of a saved attendance register. |
| 15 | +7. **Edit Attendance Register**: Perform various operations such as deleting rows/columns, merging/unmerging cells, inserting rows/columns, and adding data to specific cells. |
| 16 | +8. **Check Attendance**: Evaluate attendance status at the end of the month. |
| 17 | + |
| 18 | +## Getting Started |
| 19 | + |
| 20 | +### Prerequisites |
| 21 | + |
| 22 | +- Python 3.x |
| 23 | +- `openpyxl` library |
| 24 | + |
| 25 | +Install the `openpyxl` library using pip: |
| 26 | + |
| 27 | +`pip install openpyxl` |
| 28 | + |
| 29 | +### Running the Program |
| 30 | +Clone the repository and navigate to the project directory. Run the main script: |
| 31 | + |
| 32 | +`python main.py` |
| 33 | + |
| 34 | +## Usage |
| 35 | + |
| 36 | +Upon running the script, you will be presented with a menu to interact with the system. Below is a detailed explanation of each feature: |
| 37 | + |
| 38 | +### 1. Add Students Temporarily |
| 39 | + |
| 40 | +Add student details temporarily to the system. |
| 41 | + |
| 42 | +`def addStudent(stnd_name, roll_num, students_dict):` |
| 43 | + |
| 44 | +### 2. Add Subjects Temporarily |
| 45 | + |
| 46 | +Add subjects to the system temporarily. |
| 47 | + |
| 48 | +`def addSubjects(subjt_name, subjects):` |
| 49 | + |
| 50 | +### 3. Show Total Temporarily Saved Students |
| 51 | + |
| 52 | +Display the list of all temporarily saved students. |
| 53 | + |
| 54 | +`def allStudents(students_dict):` |
| 55 | + |
| 56 | +### 4. Show Total Temporarily Saved Subjects |
| 57 | + |
| 58 | +Display the list of all temporarily saved subjects. |
| 59 | + |
| 60 | +`def allSubjects(subjects):` |
| 61 | + |
| 62 | +### 5. Create Attendance Register |
| 63 | + |
| 64 | +Create an attendance register in either default or dynamic mode. The default mode generates a register for the current month, while the dynamic mode allows the user to customize the register name, month, and year. |
| 65 | + |
| 66 | +`def createRegister(students_dict, subjects_set):` |
| 67 | + |
| 68 | +### 6. Read Class Attendance Register |
| 69 | + |
| 70 | +Read and display the content of a saved attendance register. |
| 71 | + |
| 72 | +`def readRegister():` |
| 73 | + |
| 74 | +### 7. Edit Attendance Register |
| 75 | + |
| 76 | +Perform various operations on the attendance register such as deleting rows/columns, merging/unmerging cells, inserting rows/columns, and adding data to specific cells. |
| 77 | + |
| 78 | +`def editRegister():` |
| 79 | + |
| 80 | +### 8. Check Attendance at the End of the Month |
| 81 | + |
| 82 | +Evaluate and display the attendance status of students at the end of the month. |
| 83 | + |
| 84 | +`def check_attendence():` |
| 85 | + |
| 86 | +### 9. Exit |
| 87 | +Exit the system. |
| 88 | + |
| 89 | +## Code Structure |
| 90 | + |
| 91 | +The main components of the code are as follows: |
| 92 | + |
| 93 | +- **`addStudent`**: Adds a student to the temporary list and saves it in a JSON file. |
| 94 | +- **`allStudents`**: Prints all temporarily saved students. |
| 95 | +- **`addSubjects`**: Adds a subject to the temporary set. |
| 96 | +- **`allSubjects`**: Prints all temporarily saved subjects. |
| 97 | +- **`createRegister`**: Creates an attendance register with the option to choose between a default or dynamic register. |
| 98 | +- **`readRegister`**: Reads and prints the content of a specified attendance register. |
| 99 | +- **`editRegister`**: Allows various edit operations on the attendance register such as deleting rows/columns, merging/unmerging cells, and inserting rows/columns. |
| 100 | +- **`check_attendence`**: Checks and prints the attendance status of students for the specified register. |
| 101 | +- **`main`**: Main function to display the menu and handle user inputs. |
| 102 | + |
| 103 | +## Example |
| 104 | +`======> Welcome to Attendance Management System <====== |
| 105 | + |
| 106 | +1 - Add Students Temporarily |
| 107 | + |
| 108 | +2 - Add Subjects Temporarily |
| 109 | + |
| 110 | +3 - Show Total Temporarily Students |
| 111 | + |
| 112 | +4 - Show Total Temporarily Subjects |
| 113 | + |
| 114 | +5 - Create Attendance Register |
| 115 | + |
| 116 | +6 - Read Class Attendance Register |
| 117 | + |
| 118 | +7 - Edit Attendance Register |
| 119 | + |
| 120 | +8 - Check Attendance in the end of Month |
| 121 | + |
| 122 | +9 - Exit |
| 123 | + |
| 124 | +Enter a Number:` |
| 125 | + |
| 126 | +Follow the prompts to use the system effectively. |
0 commit comments