WDAudioLex/Developer

WDAudioLex

System Architecture

Frontend

Built using ReactJS for a responsive user interface. Components include:

  • Category Selector
  • Pattern Input
  • Results Display
  • Audio Player
  • Add Pronunciation Button

Technologies: Material-UI/Bootstrap for styling, Axios for API requests.

Backend

Developed using Flask with SQLAlchemy for database management.

API Endpoints:

  • /select-category: Fetch audio files from selected Commons categories.
  • /match-lexemes: Process matching logic based on user inputs.
  • /add-pronunciation: Store contributions and update Wikidata.


Database: Stores audio file IDs, lexeme IDs, and pronunciation details using a relational database (e.g., MariaDB from wikimedia cloud).

Integration

Uses Wikimedia Commons and Wikidata APIs for retrieving resources and updating entries. Data validation ensures meaningful and accurate user contributions.

Bug Reporting, Feedback Channels and Communication Guidelines

Bug Reporting

To ensure that issues are tracked and resolved efficiently, please follow the steps below to report bugs or technical issues with the tool:

  • Where to Report: Bugs should be reported in the Phabricator project. Please make sure you are logged into Phabricator before submitting your bug report.
  • How to Report: When creating a bug report, please provide the following:
    • Title: A clear and concise title summarizing the issue.
    • Description: A thorough description of the bug, including steps to reproduce the issue.
    • Expected Behavior: Describe what you expected the tool to do.
    • Actual Behavior: Explain what actually happened.
    • Screenshots/Logs: Attach any relevant screenshots or error logs that will help in diagnosing the issue.
  • Use the Create Task button on Phabricator to create a new bug report. Make sure to fill in the required fields, following the bug report template provided.

Feedback Channels

We value user feedback to continuously improve the tool. You can share your suggestions or provide feedback through the following channels:

  • General Feedback

Please share your feedback or suggestions on the Tool Discussion Page (actual link). This is the primary place for open discussions and feedback on the tool's development.

  • Direct Communication
    • Email: For detailed inquiries or support, you can reach out to the development team via email.
    • Telegram: Join our Telegram Group to participate in real-time conversations with the team and other users.

Communication Guidelines

When providing feedback or reporting bugs, please be specific and clear in your descriptions to help us understand and resolve the issue quickly. All feedback should be constructive to ensure a positive and collaborative environment. Expect reasonable response times based on the complexity of the issue or feedback.