Skip to content

CheckInPlus is a modern attendance management system powered by facial recognition. It provides a secure, automated, and contactless solution to streamline check-in processes for schools and businesses. Built on the reliable Django framework, it aims to eliminate manual tracking and enhance administrative efficiency through a clean and powerful UX.

License

Notifications You must be signed in to change notification settings

ishar06/CheckInPlus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CheckInPlus: Intelligent Attendance Management System

CheckInPlus is a modern, robust, and intelligent attendance management system developed using the Django framework. The core feature of this project is its ability to mark attendance through facial recognition, leveraging the power and accuracy of AWS Rekognition to provide a seamless, secure, and efficient alternative to traditional methods. This system is designed for educational institutions, corporate environments, and any organization looking to automate and streamline their attendance tracking processes.


✨ Key Features

  • Cloud-Powered Facial Recognition: Utilizes AWS Rekognition for highly accurate, scalable, and reliable facial identification.
  • Admin Dashboard: A comprehensive admin panel for managing users, viewing attendance records, and overseeing the system.
  • User Management: Secure registration and profile management for all users within the system.
  • Detailed Reporting: Generate and view detailed attendance logs and reports for individuals and groups.
  • Scalable Architecture: Built on the powerful Django framework, ensuring reliability and scalability.

💻 Tech Stack

The project is built using a modern and powerful technology stack:

  • Backend: Django, Django REST Framework
  • Facial Recognition Service: AWS Rekognition
  • AWS SDK: boto3
  • Database: SQLite3 (development), PostgreSQL (recommended for production)
  • Core Language: Python 3.11

📂 Project Structure

The project follows a standard Django application structure for modularity and maintainability.

CheckInPlus/
├── CheckInPlus/          # Main Django project configuration
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── attendance/           # Django app for attendance logic
├── core/                 # Django app for core functionalities
├── users/                # Django app for user management
├── .env.example          # Example environment variables file
├── manage.py             # Django management script
└── requirements.txt      # Project dependencies

🚀 Getting Started

This guide provides detailed, step-by-step instructions to get a local copy of the project up and running on your machine.

Prerequisites

Before you begin, ensure you have the following software and credentials installed and configured on your system.

  1. Python 3.11

  2. Git

    • A version control system to clone the repository. Download Git.
  3. AWS Account and Credentials

    • You must have an AWS account.
    • Configure your AWS credentials. The recommended way is to create an IAM user with programmatic access (AmazonRekognitionFullAccess policy) and get an Access Key ID and Secret Access Key.

Installation and Setup

  1. Clone the Repository

    • Open your terminal (Command Prompt, PowerShell, or Terminal) and run:
      # Clone the project from GitHub
      git clone https://github.com/ishar06/CheckInPlus.git
      
      # Navigate into the project directory
      cd CheckInPlus
  2. Create and Activate a Virtual Environment

    • It's highly recommended to use a virtual environment to manage project dependencies.
    • On Windows:
      # Create a virtual environment named 'venv'
      python -m venv venv
      
      # Activate the virtual environment
      .\venv\Scripts\activate
    • On macOS / Linux:
      # Create a virtual environment using python3.11
      python3.11 -m venv venv
      
      # Activate the virtual environment
      source venv/bin/activate
    • You will see (venv) prefixed to your command prompt line.
  3. Configure Environment Variables

    • Create a .env file in the root project directory by copying the example file:
      # On Windows
      copy .env.example .env
      
      # On macOS / Linux
      cp .env.example .env
    • Open the newly created .env file and add your AWS credentials and desired region:
      AWS_ACCESS_KEY_ID='YOUR_ACCESS_KEY'
      AWS_SECRET_ACCESS_KEY='YOUR_SECRET_KEY'
      AWS_REGION_NAME='your-aws-region' # e.g., us-east-1
      
  4. Install Project Dependencies

    • Install all the required Python packages from the requirements.txt file.
      pip install -r requirements.txt
  5. Apply Database Migrations

    • These commands set up your database schema.
      python manage.py makemigrations
      python manage.py migrate
  6. Create a Superuser

    • This command creates an administrative user account to access the Django admin panel.
      python manage.py createsuperuser
    • You will be prompted to enter a username, email, and password.
  7. Run the Development Server

    • You're all set! Start the Django development server:
      python manage.py runserver
    • The application will be available at http://127.0.0.1:8000/.

📝 Usage

Once the server is running, you can start using the application:

  • Admin Panel: Access the Django admin interface at http://127.0.0.1:8000/admin/. Log in with the superuser credentials you created.
  • Main Application: Navigate to the main application URLs to register new users and test the facial recognition attendance system.

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

To contribute to the project, please follow these steps:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

This project is distributed under the MIT License. See the LICENSE file for more information.


📧 Contact

Ishardeep Singh - GitHub Profile

Aaradhya Srivastava - GitHub Profile

Bhumika Nagpal - GitHub Profile

Damanjeet Singh - GitHub Profile

Karandeep Kaur - GitHub Profile

Bhargav Sharma - GitHub Profile

Project Link: https://github.com/ishar06/CheckInPlus

About

CheckInPlus is a modern attendance management system powered by facial recognition. It provides a secure, automated, and contactless solution to streamline check-in processes for schools and businesses. Built on the reliable Django framework, it aims to eliminate manual tracking and enhance administrative efficiency through a clean and powerful UX.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published