Ems Report (1)
Ems Report (1)
A
Project Report on
“Employee Management System”
Submitted By
Ms.Shilpa Maharana(38)
Ms.Priya Singh(76)
Ms.Swati Bhavikatti(09)
Ms.Riddhi Patil(53)
CERTIFICATE
Prof.Moeenuddin Ansari
(Project Coordinator)
Prof.K.N.Attarde
Dr.Riyazuddin Siddique
(HOD)
(Principle)
Mini Project Report Approval for S.E.
Examiners
1.......................
2……………………….
Date:
Place:
DECLARATION
We declare that this written submission represents our ideas in my own words and where
others' ideas or words have been included, we have adequately cited and referenced the
original sources. We also declare that we have adhered to all principles of academic honesty
and integrity and have not misrepresented or fabricated or falsified any
idea/data/fact/source in my submission. We understand that any violation of the above will
be cause for disciplinary action by the Institute and can also evoke penal action from the
sources which have thus not been properly cited or from whom proper permission has not
been taken when needed.
Ms.Shilpa Maharana(38)
Ms.Priya Singh(76)
Ms.Swati Bhavikatti(09)
Ms.Riddhi Patil(53)
ACKNOWLEDGEMENT
First and foremost we thank God Almighty for blessing us immensely and empowering me
at times of difficulty like a beacon of light. Without His divine intervention I wouldn't have
accomplished this project without any hindrance.
We are also grateful to the Management of Theem College of Engineering for their kind
support. Moreover, we thank our beloved Principal Dr. Riyazuddin Siddiqui, Director, Dr.
N.K. Rana for their constant encouragement and valuable advice throughout the course.
We are profoundly indebted to Prof. K.N Attarde Head of the Department, Computer
Engineering(AIML) & Prof. Moeenuddin Ansari for helping us technically and giving valuable
advice and suggestions from time to time. They are always our source of inspiration.
Ms.Shilpa Maharana(38)
Ms.Riddhi Patil(53)
Ms.Priya Singh(76)
Ms.Swati Bhavikatti(09)
Sr.no. Contents Page no:
1. Introduction
2. Abstract
6. Code
7. Output
8. Reference
9. Conclusion
INTRODUCTION
Due too many data and paperwork that needed to record the employee data could
consume a lot of space in the filling cabinet. The retrieval of data can time consuming
because it must be searched from the filling cabinet. This will cause waste of resource
in term of time and money. In addition, it would also cause inconvenience and
ineffectiveness in daily work. Plus, the manger will face difficulties when need to
update employee working schedule, report and leave request.
In the employee point of view, when they need to request for leave, they need to fill
in a leave request form manually and submit to manager personally and wait for
confirmation, this is time consuming. Other than that, if there are any changes in
working schedule, employee might have wrong information in the working schedule
because the schedule might not update immediately, therefore the employee might
not satisfy with the working schedule.
System And Architecture Design:
1. Requirements Overview
•User Management: Admin users should be able to add, update, delete, and view employee details.
•Employee Profiles: Store details such as personal information, job role, department, salary,
performance history, etc.
•Attendance Management: Track employee attendance, leaves, and work hours.
•Payroll System: Calculate salary, bonuses, deductions, and tax.
•Performance Management: Conduct performance reviews and store evaluation data.
•Report Generation: Generate reports like attendance, payroll, and performance reviews.
•Security and Access Control: Different user roles with varying levels of access (e.g., Admin, HR,
Employee).
2. High-Level Architecture
The system will follow a Client-Server Architecture with web-based access and
mobile apps as clients. The architecture consists of multiple components to manage
different business functions.
Components:
Client Layer (UI/Frontend)
o Web (React.js, Angular) / Mobile (Flutter, React Native)
o Interacts with the backend to display data, collect user inputs, and
submit them.
Server Layer (Backend)
o REST API (Node.js, Python, Java, Spring Boot)
o Handles all the business logic, database interaction, authentication, and
data processing.
Database Layer
o Relational Database (MySQL, PostgreSQL) to store structured data like
employee records, payroll, attendance, etc.
o NoSQL Database (MongoDB) can be used for unstructured or semi-
structured data like performance reviews or logs
•Authentication & Authorization
OAuth 2.0 / JWT for secure login and role-based access control.
•External Services
Email/SMS Notification Service: For sending alerts, reminders, and notifications.
Third-party Integration: Integration with other services (e.g., accounting software for
payroll
Attendance and leave management are key components of an EMS, enabling both
employees and managers to efficiently track work hours, overtime, absences, and
leave requests. Employees can submit leave requests, and HR or management can
approve or reject them based on business needs. The system ensures that employee
attendance is accurately recorded, including check-in/check-out times, and provides
detailed reports for managers to monitor overall attendance trends. Integration with
payroll ensures that leave balances are deducted from employee accounts,
maintaining an accurate reflection of their availability for work.
def __str__(self):
return f"ID: {self.emp_id}, Name: {self.name},
Position: {self.position}, Salary: {self.salary}"
class EmployeeManagementSystem:
def __init__(self):
self.employees = {}
def display_all_employees(self):
if self.employees:
for emp in self.employees.values():
print(emp)
else:
print("No employees found.")
def main():
system = EmployeeManagementSystem()
while True:
print("\nEmployee Management System")
print("1. Add Employee")
print("2. View Employee")
print("3. Update Employee")
print("4. Delete Employee")
print("5. View All Employees")
print("6. Exit")
choice = input("Enter your choice: ")
if choice == "1":
emp_id = int(input("Enter Employee ID: "))
name = input("Enter Employee Name: ")
position = input("Enter Employee Position: ")
salary = float(input("Enter Employee Salary: "))
system.add_employee(emp_id, name, position, salary)
elif choice == "2":
emp_id = int(input("Enter Employee ID: "))
system.view_employee(emp_id)
elif choice == "3":
emp_id = int(input("Enter Employee ID to update: "))
name = input("Enter new Name (leave blank to keep current): ")
position = input("Enter new Position (leave blank to keep current): ")
salary_input = input("Enter new Salary (leave blank to keep current): ")
salary = float(salary_input) if salary_input else None
system.update_employee(emp_id, name if name else None, position if position else
None, salary if salary is not None else None)
elif choice == "4":
emp_id = int(input("Enter Employee ID to delete: "))
system.delete_employee(emp_id)
elif choice == "5":
system.display_all_employees()
elif choice == "6":
print("Exiting system.")
break
else:
print("Invalid choice! Please try again.")
if __name__ == "__main__":
main()
OUTPUT
References
Edition.
6. Zehra, A.B. (2014). Human Resources Management and Its Importance for
Todays Organization.
7. Mishal, R., Prity, S., Prachir C. and Arhant, C. (2017). Employee Leave
Introduction
Architecture Diagram: