Click here to view the live project
Student Side | AI-Enhanced Teaching Assistant: Bridging Instructor Knowledge and Web Intelligence
Instructor Side | AI-Enhanced Teaching Assistant: Bridging Instructor Knowledge and Web Intelligence
Watch full Instructor side demo
- Description
- Features
- Technologies Used
- Setup and Installation
- Usage
- User Authentication
- Instructor Portal
- Customization Options
- API Integration
- AWS Services Used
- Contributing
- License
The Educational Query Assistant is a Streamlit-based web application that allows users to query educational content from various professors and receive responses based on the professor's notes and internet sources. It features user authentication, an instructor portal, and customizable UI options.
- User authentication (sign up, sign in, email verification)
- Instructor mode for managing documents
- Multi-language support for query responses
- Customizable UI themes and fonts
- Integration with AWS services (Cognito, S3, DynamoDB)
- API integration for processing queries and documents
- Python
- Streamlit
- AWS (Cognito, S3, DynamoDB)
- Boto3
- Requests
- Pandas
-
Clone the repository: '''sh git clone https://github.com/DHRUVvkdv/teaching-assistant-frontend.git
-
Install the required package
pip install -r requirements.txt
-
Set up your AWS credentials and configure the necessary services (Cognito, S3, DynamoDB).
-
Create a
secrets.toml
file in the.streamlit
directory with the following content:
API_BASE_URL = "your_api_base_url"
API_KEY = "your_api_key"
USER_POOL_ID = "your_cognito_user_pool_id"
CLIENT_ID = "your_cognito_client_id"
AWS_DEFAULT_REGION = "your_aws_region"
S3_BUCKET_NAME = "your_s3_bucket_name"
DYNAMODB_TABLE_NAME = "your_dynamodb_table_name"
- Run the Streamlit app:
streamlit run app.py
- Sign up or sign in to access the main application.
- Select a professor and enter your query in the text area.
- Choose your preferred output language.
- Submit the query and view the results, including professor's notes and internet sources.
- Users can sign up with email and password.
- Email verification is required after sign-up.
- Users can sign in with their credentials.
- Instructor status can be toggled in the user settings.
- Accessible to users with instructor privileges.
- Upload PDF documents for specific professors.
- View and manage uploaded documents.
- Trigger processing of uploaded documents.
- Multiple UI themes available (e.g., Accessible Light, Accessible Dark, Pastel).
- Font selection for better readability.
- Language selection for query responses.
The application integrates with a backend API for:
- Processing user queries
- Handling document uploads and processing
- Retrieving professor-specific information
- Cognito: User authentication and management
- S3: Document storage
- DynamoDB: Storing processed document information
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.