/Employee-Management-System

Employee management system with admin and employee panels. Built using Django.

Primary LanguageCSS

Employee Management System

Welcome to the Employee Management System built with Django and Chart.js! This web application is designed to streamline employee management, making it easy for administrators to handle employee and department information, assign projects, and track task distribution efficiently. It also provides a user-friendly interface for employees to manage their daily tasks and visualize their performance using informative charts.

Features

Admin Panel

  1. Authentication: Utilizes Django's built-in authentication system for secure admin login and registration via email.
  2. Employee Management:
    • Add new employees to the system.
    • Delete existing employees.
    • Assign departments to employees.
    • Assign projects to employees.
  3. Department Management:
    • Add new departments.
    • Delete departments as needed.
  4. Project Management:
    • Assign projects to employees, making project allocation straightforward.
  5. Employee Details:
    • Admins can add employee details, including personal information and email.
    • Upon adding an employee, an automated email is sent to the employee containing login details and a login link for accessing their panel.

Employee Panel

  1. Personal Details: Employees can view and update their personal information from their dashboard.
  2. Daily Task Management: Employees can add and manage their daily tasks, providing a simple way to keep track of their work.
  3. Task Analytics:
    • Daily tasks are automatically transformed into bar and pie charts using Chart.js, offering a visual representation of task distribution over time.
    • Employees can access these charts from their dashboard to monitor their performance and productivity.

Admin Task Analysis

  1. Task Distribution: Admins have the ability to view task distribution across employees, enabling them to assess overall productivity and workload allocation within the organization.

Usage

To get started with this Employee Management Web App, follow these steps:

  1. Clone this repository to your local machine.
  2. Set up a virtual environment and install the required dependencies by running:
    pip install -r requirements.txt
  3. Configure your database settings in the settings.py file.
  4. Run migrations to set up the database:
    python manage.py migrate
  5. Create an admin account using the following command and follow the prompts:
    python manage.py createsuperuser
  6. Start the development server:
    python manage.py runserver
  7. Access the web app at http://localhost:8000 and log in with the admin account to begin managing employees, departments, and projects.
  8. Employees can access their personal dashboard by clicking the provided link in their email and use the Employee Panel to manage tasks and view task analytics.

Technologies Used

  • Django: A high-level Python web framework.
  • Chart.js: A JavaScript library for creating interactive charts and graphs.