A classroom assistant for seamless student identification and academic data retrieval.
Eduscan is a python application that uses AWS Lambda and related services to process uploaded classroom videos, recognize students' faces and retrieve academic data.
Key Tasks:
-
Video Upload: Users upload videos to an S3 input bucket.
-
Video Processing: Lambda function processes videos, extracts frames, and recognizes faces.
-
Face Recognition: Academic data is retrieved based on recognized faces from DynamoDB.
-
Data Preloading: Student data is preloaded into DynamoDB.
-
Custom Lambda Function: Utilize a custom container image with preinstalled tools for Lambda.
-
Academic Data Storage: Store academic info in CSV format in an S3 output bucket.
-
Testing: Sample videos and workload generator for testing.
Deliverables:
- User-friendly UI for video uploads.
- AWS Lambda for video processing.
- DynamoDB preloading with academic data.
- Properly formatted content in the output S3 bucket.
- Sample videos for testing.
- Workload generator for validation.
This project aims to enhance classroom management with efficient student recognition and data retrieval.
Before you begin, ensure you have met the following requirements:
- Python 3.6 or higher
- AWS account with access to S3, ECR, Lambda, DynamoDB
- Streamlit
- VS Code
-
Clone the repository:
git clone https://github.com/sreeharsha-rav/aws-eduscan.git
-
Navigate to the project folder:
cd aws-eduscan
-
Go to the
dynamoDB-setup
folder and use the code to set up DynamoDB. -
Go to the
aws-lambda-setup
folder and use the code to set up AWS Lambda. -
Create a virtual environment (optional):
python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate
-
Go to the
python-frontend
folder and follow the instructions to run the frontend.
- To run tests for AWS Lambda locally on terminal goto
workload_test
folder and follow instructions.
This project is part of CSE 546 - Cloud Computing course curriculum at ASU.