SRS_2 - COS301-SE-2025/Hands-Up GitHub Wiki
Imagine you are in a busy shopping centre and someone tries to get your attention — not with words, but through a series of hand gestures. You watch, trying to decipher the movements, but remain unsure. Gradually, you recognize it as sign language and find yourself wishing you understood, even just a little. You wish there were a way to translate their gestures. As TMKDT, we aim to turn those wishes into reality with Hands UP. A powerful application to help you — one sign at a time!
Hands UP is an innovative application that bridges the communication gap between signers and non-signers. Using advanced AI technology, the application detects and translates sign language in real-time through the device's camera, converting signs into both text and spoken language without significant delays. Beyond translation, it also serves as an interactive learning platform with structured lessons and immediate feedback on signing accuracy.
Note: A user refers to anyone using the application, while a learner specifically refers to someone who has created an account.
User Story | Acceptance Criteria | Definition of Done |
---|---|---|
Registration As a user, I want to create an account with my name, username, email and password So that I can access the sign language learning curriculum |
- All input fields are required - Email address is validated for correct format - Password must be at least 8 characters and include a special character - Duplicate usernames and emails are not allowed - Terms and Conditions are accepted |
My account has been created successfully and I am automatically logged in and redirected to the learning homepage. |
Login As a learner, I want to login into my account using my email and password So that I can continue with the sign language learning curriculum |
- All input fields are required - User is authenticated against stored credentials - Appropriate error message is shown for invalid login attempts |
I have successfully logged in and automatically redirected to the learning homepage. |
Forgot Password As a learner, I want to reset my password via a link sent to my email So that I can regain access to my account if I have forgotten my password |
- A reset link is sent to the email address if it exists - Link redirects to a secure page to set a new password - User receives confirmation of password change |
My password is updated and I can now log in with the new credentials. |
Manage Profile As a learner, I want to update my name, username, email and password So that my account information remains valid and up to date |
- All fields are editable - Input is validated before saving - Confirmation message is shown before updating |
My changes are saved and I can see the updated details. |
Learning Curriculum As a learner, I want to have a structured learning plan So that I can learn more effectively |
- There is a clear, well-organized curriculum in place - Lessons are mapped to specific goals and topics - Users can view their position in the learning path |
I can view a clear, structured curriculum that guides me from basic to advanced topics. |
Skill Adaptation As a learner, I want the application to adapt to my level of signing experience So that I can learn at a comfortable pace and skip content I already know |
- Learners are required to take a placement test to indicate their signing experience - If the learner is a beginner, the placement test is not required and the learner is placed at the start of the curriculum - If the learner has prior knowledge, lessons covering already known content are skipped - After placement, learners must follow the structured curriculum from their assigned level onward without skipping future lessons |
I start learning from a level that suits me, without wasting time on things I already know. |
Learning Progress As a learner, I want to view my achievements, day streak and total XP So that I can track my progress and stay motivated |
- Achievements, day streak and total XP are displayed - Data is updated after a task is completed |
I am able to view my learning progress. |
Feedback As a learner, I want to receive feedback on my signing accuracy and improvements I can make So that I can sign more accurately |
- Feedback must be valid and specific to the current learning scenario - Feedback must be provided immediately - User must understand what mistake was made and how to correct it - Suggestions must include correct gestures and movements |
The system provides accurate and timely feedback when I perform a sign, clearly explaining what was wrong, why it was incorrect and how to fix it. |
Reminders As a learner, I want to receive reminders to continue learning So that I can maintain my streak and stay motivated |
- Learner receives daily or scheduled reminders via notifications - Notifications can be turned off |
I receive friendly reminders to continue learning and maintain my daily streak. |
Review Lessons As a learner, I want to review lessons that I have completed So that I can revise what I have already learnt |
- There is a dedicated and easily accessible review page - Review content is quick, focused and does not affect lesson progress |
I can quickly find specific content I want to revise without going through the full lessons again. |
Camera Input for Translation As a user, I want to input signs using my device's camera So that it can be translated into spoken and written language in real time |
- Camera access is granted and working - Signs are detected and captured |
I have successfully entered a sign via the camera for translation. |
Upload Input As a user, I want to upload images and videos from my device So that they can be translated into spoken and written language in real time |
- User has uploaded a supported file format | The media I have chosen has been successfully uploaded and is now being processed. |
Translate Letters As a user, I want to sign individual letters So that they can be translated into spoken and written language in real time |
- System recognises the individual signed letters from the input - Signs are translated accurately - Signs are translated in real time - Translated signs are output as text and audio - Letters appear in the correct order if multiple are signed |
The letters I have signed are accurately translated and displayed immediately. |
Translate Phrases As a user, I want to sign short and commonly used phrases So that they can be translated into spoken and written language in real time |
- System recognises the signs from the input - Signs are translated accurately - Signs are translated in real time - Translated signs are output as text and audio - Output matches the intended meaning |
The phrases I have signed are accurately translated and displayed immediately. |
Translate Sentences As a user, I want to sign full sentences So that they can be translated into spoken and written language in real time |
- System recognises the signs from the input - Signs are translated accurately - Signs are translated in real time - Translated signs are output as text and audio - Output matches the intended meaning |
The sentences I have signed are accurately translated and displayed immediately. |
FR 1: Application must allow user profile creation and customization
FR 1.1: Users must be able to create and manage a personal account
FR 1.2: Users must be able to log into their personal account
FR 1.3: Users must be able to set learning goals and preferences
FR 2: Application must allow users to input visual data
FR 2.1: The system must allow users to provide visual input via device cameras
FR 2.2: The system must allow users to upload media (images/videos)
FR 3: Application must be able to translate sign language
FR 3.2: Application must provide text output
FR 3.3: Application must provide audio output
FR 4: Application must provide a structured curriculum
FR 4.1: There should be an overview of the entire course
FR 4.1.1: The course overview must clearly indicate completed, in-progress and locked lessons
FR 4.2: Lessons should be organized progressively, from basic to advanced topics
FR 4.2.1: Each lesson must unlock only after prerequisites are completed
FR 4.2.2: Categories should include key areas such as fingerspelling (letters), vocabulary (phrases) and sentence construction
FR 4.2.3: There must be thematic levels (e.g., greetings, food, directions) for contextual learning
FR 4.3: Each lesson should include clear objectives, interactive content and practice exercises
FR 5: Application should accommodate learners of all signing experience
FR 5.1: Beginner learners should be introduced to signing at a steady pace
FR 5.2: Advanced learners should be able to skip beginner lessons
FR 6: Application must support real-time feedback and correction
FR 6.1: Users must receive immediate feedback on incorrect signs
FR 6.2: Application must suggest correct hand gestures or movements
FR 7: Users should see their learning progress
FR 7.1: Application should provide comprehensive progress analysis
FR 7.1.1: The app must show the user's daily streak, total XP and achievements
FR 7.2: Progress should be presented in a simple, graphical manner
FR 8: Application must provide a separate review section for previously learned content
FR 8.1: Review lessons must be organized by category for quick reference
FR 8.2: Review lessons must be concise and focused on reinforcement, not full re-teaching
FR 8.3: Review lessons must not affect learner progress
FR 9: Application should support multiple dialects of sign language
FR 9.1: Users must change their preferred dialect in settings
FR 9.2: Content, translation and feedback should adapt based on the selected dialect
FR 10: Application must provide a built-in game to test sign language knowledge apart from lessons
FR 10.1: The game should include challenges
FR 10.2: Scores awarded should contribute to overall learner progress
FR 10.3: Users should be able to replay the game at anytime