Language Learning App Test phase, srs, design phase and source code final deliverable
Apps
/ Introduction
“And among His signs is the creation of the heavens and the earth, and the differences in your languages and colors; indeed, in this are signs for people who know.” (The Holy Quran: Para 21, Surah 30 Al-Rum, Verse 22)
In today’s world, where people from different countries and cultures interact with each other regularly, being able to communicate in multiple languages is becoming increasingly important. The Language Learning App will provide an accessible and efficient platform for people to learn new languages, thereby helping them to better connect with people from different cultures.
Language Learning App is an Android based application which provides users with an easy and efficient way to learn a new language. The app will offer a range of features and resources to help users learn; including vocabulary lists, grammar lessons, interactive exercises, and quizzes. The app will be designed to be user-friendly, accessible, and effective in helping users achieve their language learning goals.
Functional Requirements:
- Users: The app must support two types of user; Admin and Learner
- Admin: The admin will be responsible for managing the content of the app, including the courses, lessons, exercises, and other learning materials.
- Learner: The learner should be able to create an account and log in to the app using their email address or social media credentials.
- Language Selection: Learners should be able to choose the language they want to learn and select their proficiency level.
- Interactive Lessons: The app should provide interactive lessons on grammar, vocabulary, and pronunciation. The lessons should include audio and video clips, images, and quizzes to test comprehension.
- Flashcards: The app should include a flashcard feature to help users memorize vocabulary.
- Pronunciation Exercises: The app should provide exercises to help users practice their pronunciation.
- Progress Tracking: The app should track users’ progress and provide feedback on their performance. Users should be able to view how much they have learned and how much more they need to learn.
- Gamification: The app should include gamification elements such as leader boards, achievements, and badges to motivate and engage users.
- Social Features: The app should provide social features that allow users to connect with other language learners, chat, and practice speaking with each other.
- Personalization: The app should provide a personalized learning experience based on users’ proficiency level and learning goals. Users should be able to customize their learning path and choose topics of interest.
- Offline Support: The app should provide offline support for users who do not have internet connectivity. Users should be able to access their lessons and track their progress even when they are offline.
Tools:
- IDE: Android Studio
- Programming Language: Java/Kotlin
- Databases: Firebase Real-Time/Cloud Fire-Store & SQLite/Room
Supervisor:
Name: Muhammad Imran Afzal