The Gesture Detail Web Application is a comprehensive platform designed to catalog and showcase gesture videos. It aims to provide an intuitive and visually appealing interface for users to explore gestures from various dialects of sign language. This project is particularly useful for researchers, educators, and learners in the domain of sign language.
- Bootstrap 4.5.2 integration ensures responsiveness across devices.
- Custom CSS enhances visual aesthetics and maintains a consistent layout.
- Links to:
- Home: Navigate to the homepage.
- View Videos: Explore the collection of gesture videos.
- About: Learn more about the application.
- Hover effects improve usability.
- Displays comprehensive details of an individual gesture:
- Gesture Name: Prominently displayed at the top.
- Video Playback:
- Embedded video player for gestures with video files.
- Placeholder text ("No video available for this gesture") for missing videos.
- Description:
- Displays the gesture description or a fallback message if absent.
- Dialect(s):
- Shows dialects related to the gesture or "Not specified."
- Submitted By:
- Indicates the submitter's name or defaults to "Anonymous."
- Features a "Back to Video List" link for easy navigation.
- Background: Light gray (
#f5f7fa
) ensures readability. - Boxes: White backgrounds with rounded corners and subtle shadows.
- Text Colors:
- Dark text (
#333
) for primary content. - Highlighted elements in blue (
#007bff
) or red (#ea445a
).
- Dark text (
- Video Player: Centered with a fixed maximum width for a clean layout.
- Ensures fallback messages for missing data, such as:
- Video files.
- Description or dialect information.
- Submitter details.
- MongoDB is used as the backend database for storing gesture-related data.
- Database Name:
signhub
- Collection Name:
gestures
signhub
gestures
Each document in the gestures
collection represents a gesture with the following fields:
Field Name | Data Type | Description |
---|---|---|
_id |
ObjectId | Unique identifier for the gesture (automatically generated). |
name |
String | The name of the gesture. |
description |
String | Detailed description of the gesture. |
dialect |
String | Dialects associated with the gesture (e.g., Punjabi, Sindhi). |
video_url |
String | URL pointing to the gesture video file. |
submitted_by |
String | Name of the person who submitted the gesture. |
created_at |
Date | Timestamp indicating when the gesture was added. |
- Install Python 3.8+.
- Install MongoDB and set up the database.
- Install the required Python packages.
-
Clone the repository:
git clone <repository-url> cd <repository-directory>
-
Install dependencies:
pip install flask pymongo
-
Set up MongoDB:
- Start MongoDB locally or configure a cloud database.
- Create the database and collection using the structure described above.
-
Configure the Flask application:
- Update the
app.py
file with the MongoDB connection string:from pymongo import MongoClient client = MongoClient("<your-mongodb-connection-string>") db = client['signhub'] gestures_collection = db['gestures']
- Update the
-
Run the Flask server:
python app.py
-
Access the application in your browser at:
http://127.0.0.1:5000/
{
"_id": "6487f1a462b1e23f98b1d4e9",
"name": "Hello Gesture",
"description": "A friendly greeting gesture commonly used in Pakistani Sign Language.",
"dialect": "Punjabi",
"video_url": "/videos/hello.mp4",
"submitted_by": "Ali Khan",
"created_at": "2024-11-25T10:30:00Z"
}
- Upload Functionality: Allow users to upload gesture videos and metadata.
- User Authentication: Secure login system for personalized interactions.
- Search and Filter: Enable searching and filtering gestures by dialect or category.
- Analytics Dashboard: Display insights into gesture usage and submissions.
Contributions are welcome! Please fork the repository, create a branch, and submit a pull request. For major changes, open an issue first to discuss the proposed changes.
For any issues or suggestions, feel free to open an issue on GitHub or contact us at [email protected].
This project is licensed under the MIT License. See the LICENSE file for details.