QRPRESENCE

Project Banner

[Project Name] ID Card Scanner Attendance System

Basic Details

Team Name:dodo

Team Members

Project Description

This project automatically marks student attendance using QR code ID cards. Students scan their ID cards via a webcam, and the system records them as present. It generates a digital attendance report, saving time and reducing manual errors.

The Problem statement

Manual attendance in classrooms is time-consuming, inefficient, and prone to errors, especially for large classes. Teachers often spend several minutes per student, and mistakes like marking the wrong student present or absent can occur. There is a need for a fast, accurate, and automated attendance system that reduces human effort and ensures reliable record-keepin

The Solution

[How are you solving it?]

—We solve this problem by using QR code ID cards and a scanner system. Students scan their ID cards via a webcam, the system automatically verifies their ID and marks them present. At the end, it generates a digital attendance report, saving time, reducing errors, and making attendance management efficient and accurate.

Technical Details

Technologies/Components Used

For Software:

Libraries used: opencv-python, pyzbar, qrcode, pillow

Tools used: VS Code, Python interpreter

For Hardware:

Main components: Webcam (built-in or USB), Computer

Specifications: Minimum 720p camera, Windows/Linux/Mac

Tools required: Python installed, VS Code

For Hardware:

Features

List the key features of your project: -List the key features of your project:

Automatically mark attendance

Prevent duplicate attendance marking

Generate and save attendance reports (CSV)


Implementation

For Software:

Installation

`pip install opencv-python pyzbar qrcode pillow


#### Run
python generate_qr.py
python attendance_scanner.py


#### Components Required
Software Components:

Python – Programming language to build the system

Libraries:

opencv-python → To access webcam and capture images

pyzbar → To read QR codes

qrcode → To generate QR codes for student IDs

pillow → To handle QR code images

VS Code / Any IDE – To write and run Python code  

### For Hardware:

#### Components Required
[List all components needed with specifications]

#### Circuit Setup
[Explain how to set up the circuit]

---

## Project Documentation

### For Software:

#### Screenshots (Add at least 3)

![Screenshot1](/QRPRESENCE/1.png)
*Add caption explaining what this shows*

![Screenshot2](/QRPRESENCE/2.png)
*Add caption explaining what this shows*

![Screenshot3](Add screenshot 3 here with proper name)
*Add caption explaining what this shows*

#### Diagrams

**System Architecture:**

![Architecture Diagram](docs/architecture.png)
*Explain your system architecture - components, data flow, tech stack interaction*

**Application Workflow:**

![Workflow](docs/workflow.png)
*Add caption explaining your workflow*

---

### For Hardware:

#### Schematic & Circuit

![Circuit](Add your circuit diagram here)
*Add caption explaining connections*

![Schematic](Add your schematic diagram here)
*Add caption explaining the schematic*

#### Build Photos

![Team](Add photo of your team here)

![Components](Add photo of your components here)
*List out all components shown*

![Build](Add photos of build process here)
*Explain the build steps*

![Final](Add photo of final product here)
*Explain the final build*

---

## Additional Documentation

### For Web Projects with Backend:

#### API Documentation

**Base URL:** `https://api.yourproject.com`

##### Endpoints

**GET /api/endpoint**
- **Description:** [What it does]
- **Parameters:**
  - `param1` (string): [Description]
  - `param2` (integer): [Description]
- **Response:**
```json
{
  "status": "success",
  "data": {}
}

POST /api/endpoint

[Add more endpoints as needed…]


For Mobile Apps:

App Flow Diagram

App Flow Explain the user flow through your application

Installation Guide

For Android (APK):

  1. Download the APK from [Release Link]
  2. Enable “Install from Unknown Sources” in your device settings:
    • Go to Settings > Security
    • Enable “Unknown Sources”
  3. Open the downloaded APK file
  4. Follow the installation prompts
  5. Open the app and enjoy!

For iOS (IPA) - TestFlight:

  1. Download TestFlight from the App Store
  2. Open this TestFlight link: [Your TestFlight Link]
  3. Click “Install” or “Accept”
  4. Wait for the app to install
  5. Open the app from your home screen

Building from Source:

# For Android
flutter build apk
# or
./gradlew assembleDebug

# For iOS
flutter build ios
# or
xcodebuild -workspace App.xcworkspace -scheme App -configuration Debug

For Hardware Projects:

Bill of Materials (BOM)

Component Quantity Specifications Price Link/Source
Arduino Uno 1 ATmega328P, 16MHz ₹450 [Link]
LED 5 Red, 5mm, 20mA ₹5 each [Link]
Resistor 5 220Ω, 1/4W ₹1 each [Link]
Breadboard 1 830 points ₹100 [Link]
Jumper Wires 20 Male-to-Male ₹50 [Link]
[Add more…]        

Total Estimated Cost: ₹[Amount]

Assembly Instructions

Step 1: Prepare Components

  1. Gather all components listed in the BOM
  2. Check component specifications
  3. Prepare your workspace Step 1 Caption: All components laid out

Step 2: Build the Power Supply

  1. Connect the power rails on the breadboard
  2. Connect Arduino 5V to breadboard positive rail
  3. Connect Arduino GND to breadboard negative rail Step 2 Caption: Power connections completed

Step 3: Add Components

  1. Place LEDs on breadboard
  2. Connect resistors in series with LEDs
  3. Connect LED cathodes to GND
  4. Connect LED anodes to Arduino digital pins (2-6) Step 3 Caption: LED circuit assembled

Step 4: [Continue for all steps…]

Final Assembly: Final Build Caption: Completed project ready for testing


For Scripts/CLI Tools:

Command Reference

Basic Usage:

python script.py [options] [arguments]

Available Commands:

Options:

Examples:

# Example 1: Basic usage
python script.py input.txt

# Example 2: With verbose output
python script.py -v input.txt

# Example 3: Specify output file
python script.py -o output.txt input.txt

# Example 4: Using configuration
python script.py -c config.json --verbose input.txt

Demo Output

Example 1: Basic Processing

Input:

This is a sample input file
with multiple lines of text
for demonstration purposes

Command:

python script.py sample.txt

Output:

Processing: sample.txt
Lines processed: 3
Characters counted: 86
Status: Success
Output saved to: output.txt

Example 2: Advanced Usage

Input:

{
  "name": "test",
  "value": 123
}

Command:

python script.py -v --format json data.json

Output:

[VERBOSE] Loading configuration...
[VERBOSE] Parsing JSON input...
[VERBOSE] Processing data...
{
  "status": "success",
  "processed": true,
  "result": {
    "name": "test",
    "value": 123,
    "timestamp": "2024-02-07T10:30:00"
  }
}
[VERBOSE] Operation completed in 0.23s

Project Demo

Video

[Add your demo video link here - YouTube, Google Drive, etc.]

Explain what the video demonstrates - key features, user flow, technical highlights

Additional Demos

[Add any extra demo materials/links - Live site, APK download, online demo, etc.]


AI Tools Used (Optional - For Transparency Bonus)

If you used AI tools during development, document them here for transparency:

Tool Used: [e.g., GitHub Copilot, v0.dev, Cursor, ChatGPT, Claude]

Purpose: [What you used it for]

Key Prompts Used:

Percentage of AI-generated code: [Approximately X%]

Human Contributions:

Note: Proper documentation of AI usage demonstrates transparency and earns bonus points in evaluation!


Team Contributions


License

This project is licensed under the [LICENSE_NAME] License - see the LICENSE file for details.

Common License Options:


Made with ❤️ at TinkerHub