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.
- 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.
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
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
This guide provides detailed, step-by-step instructions to get a local copy of the project up and running on your machine.
Before you begin, ensure you have the following software and credentials installed and configured on your system.
-
Python 3.11
- You can download it from the official Python website.
-
Git
- A version control system to clone the repository. Download Git.
-
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 (
AmazonRekognitionFullAccesspolicy) and get an Access Key ID and Secret Access Key.
-
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
- Open your terminal (Command Prompt, PowerShell, or Terminal) and run:
-
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.
-
Configure Environment Variables
- Create a
.envfile 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
.envfile 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
- Create a
-
Install Project Dependencies
- Install all the required Python packages from the
requirements.txtfile.pip install -r requirements.txt
- Install all the required Python packages from the
-
Apply Database Migrations
- These commands set up your database schema.
python manage.py makemigrations python manage.py migrate
- These commands set up your database schema.
-
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.
- This command creates an administrative user account to access the Django admin panel.
-
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/.
- You're all set! Start the Django development server:
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.
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:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is distributed under the MIT License. See the LICENSE file for more information.
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