Introduction

Overview

The project will focus on creating a multilingual learning and language workplace education application for people who need to learn a foreign language and language practitioners to help them learn a new language more easily or achieve higher levels of success in their language jobs. To achieve this, we need to bring together a number of experienced language teachers or language workplace veterans, summarize their experience and advice, and create live and recorded lessons that can be taken by users. A very important page in the app would also include Q&A and sharing posts like Quora. There are many professional guides on how to learn a language in depth from scratch. What materials and websites do I need to use? Tips on how to get certified for a language job. Users can read these posts to get a general idea of how to learn before deciding what course to take, saving a lot of time searching and consolidating all these different types of information on other different websites. Because our website is so targeted, users can find out most of the questions related to language learning.

Motivation

With the development of the Internet, people can search for all the knowledge they want via the Internet. This also poses a problem: the information searched for is too large and confusing. People can waste a lot of time searching for duplicate information. I had this problem myself when I was preparing for the IELTS exam. I signed up for an expensive offline course, but the teacher didn't teach me enough and I still had to look up many things on my own. It took me a lot of time to sift through the various bits and pieces of websites and study materials to find the right ones for me and my study methods. It took a long time to pass the IELTS exam. To avoid these problems, we decided to create an app specifically for language learning. Most of the existing language applications have a single function. These apps allow users to learn a specific language or allow them to be used exclusively for a certain type of exam. We wanted to create an application that was rich in comprehensive content. Our project will include not only basic language translation and teaching courses, but also teaching guides and links to external websites. Overall, it will be a software that integrates all the language learning information available on the market, and any beginner can get the most comprehensive guidance from the application. With our project, users will have effective access to all the content they want.

Description

The advantage of this software over other language applications is the concentration and quality of language education resources. First of all our software includes an active discussion forum with professional writers to write tips on language learning. Then we have a variety of targeted courses, such as courses for language exams, courses for language careers, or simply courses to improve your language skills (listening, speaking, reading and writing), and various free foreign language experience courses to encourage people to learn more languages. In the software, groups can be created according to the class in which the course is registered. The groups have a dedicated teaching assistant who takes the group through daily pre-testing and revision to increase motivation and efficiency. After each lesson, there is a small practice assignment to be completed on the applet to be corrected by the artificial intelligence. This is unique to our software and differs from other software.

First of all, the forum on our software is active and has valid information. This is because we invite professional writers with extensive language learning experience to share their language learning tips and all the tools and websites used to learn a new language. This is very important and helpful. Many people don't have a clue what tools and websites they need before they start learning a language, and they don't know which courses are the best for them. They have to spend a lot of time sifting through this information and the wrong way of learning can reduce the efficiency of learning and undermine confidence in learning a language. However, if users can see the learning methods we share on our forum before they learn, they will avoid many detours and find the fastest and most efficient way to suit their learning journey.

Furthermore, our application will provide our users with a variety of courses, divided into language learning and workplace certification. For the language learning part, we will provide our users with coaching courses for various language exams, such as IELTS and TOEFL. These courses are made up of four components: listening, speaking, reading and writing, and we employ professional teachers to teach our users how to improve their test scores. Moreover, we will also offer language courses on everyday communication for our users to improve their communication skills. We employ native speakers who are fluent in English for these classes so that our users can learn the most authentic language of the country. In terms of job certification, many people learn a language other than their mother tongue in order to get a job in the language field in the future, and many language jobs require specific professional certification. For example, medical interpreters are required to obtain the "CMI" (Certified Medical Interpreter) certification offered by the American Board of Medical Interpreters. Therefore, our application will work with professional language institutes and offer courses on how to obtain language certificates to help our users easily obtain the certificates they need. In addition to these courses, our application will also offer a section on career planning advice for those who want to pursue a language career but do not yet have a specific plan. This service will be available to anyone who has purchased any of the courses on our application.

Another great thing about our application is that we will offer experiential courses in various languages. This means that each language course will have a completely free lesson. These courses give our users an initial understanding of more languages and the content of the courses we offer, and allow our users to choose whether they want to study further. Learning an additional language will increase your chances of finding a job in the future. For example, jobs in minor language categories are much less competitive than jobs in mainstream languages and once you have learnt a minor language you will be more likely to get a job.

As the learning mode is online, the learning autonomy of the user lacks the ability and experience to be able to communicate face to face. To compensate for these disadvantages, we will create class groups on the software, just like the groups on Microsoft Teams. Users who sign up for the same course will be assigned to the same group, and there will be at least 3-5 professional teaching assistants in the group to lead the daily course preview and review, and to answer users' questions in the course. The daily course knowledge and answers to questions will be organised into PDF files by teaching assistance for those who cannot read the group messages in time for revision.The establishment of a learning group will largely improve the efficiency of learning and make up for the disadvantage of not being able to study offline. Also, after-class assignments for each lesson can be completed on the applet and an AI will identify if the pronunciation is correct and give corrections to reduce the workload of the teaching assistant.

Realization

Tools + Tech

With such an ambitious project, comes the struggles to develop it. Our application intends to have many features that will require multiple groups dedicated to a specific task each. We would have a team that specialises in the coding of Java language, excelling in XML to make the application compatible with Android or Objective C and Xcode to assist in the development of the project to be compatible with iOS. We would also like to have a team to just work with getting in touch with professionals who will cooperate with us in teaching a language. To ensure that we can appeal to the majority of students and people travelling, we aim to have another team to work on the UI design of the application.

Hardwares that are required would include items such as a laptop or computer to code and some servers to run it on.

Tools

Design: iodraw, figma

Functional implementation: PyCharm, MySQL, openmeetings, django, contentType, socket

Web access: AWS cloud (SaaS)

Detail

During the design phase

  • Use iodraw to draw UML diagrams for each functional interface and to draw a clear idea of the implementation
  • Use figma to design the UI of each page of the software, including the main page, login and registration, chat room, forum, learning page, personal page

During implementing the functions

  • Using MySQL to create a database of users and administrators to manage a series of user data access
  • Using python to call Baidu's open source voice recognition package to identify whether the user's pronunciation is accurate or not. (similar to mobile phone laptop voice input typing function, if the text can be accurately recognized, then the pronunciation is accurate)
  • Call openmeetings open source code to implement audio, video, the ability to view each participant's desktop, but also contains a whiteboard, through the whiteboard can be imported into a variety of formats of pictures and doodles, to meet the various needs of the study room as well as chat rooms
  • Crawl other websites with python for learning materials
  • Using sockets to listen to client connections and operate multiple users at the same time and broadcast message notifications
  • Implementing forum post message comment reply functionality in django signal mechanism + ContentType mechanism
  • Making custom filters in python to implement friend determination and implementing various page interfaces in python

For the network connections

  • To enable users to connect over the web and reduce the cost of maintaining equipment and databases, the SaaS model was implemented using AWS cloud

Skills

The main language to be used is Java for the main code and logic of the software. Objective C and Xcode can also be used for the development of the application itself for iOS compatibility, while using Android Studio and XML for Android compatibility. As this program will be developed by many software developers, it is essential that there is a program management tool for version control and cloud storage such as gitHub. UI developers will also be needed for maximising user experience and interaction. There are many languages that can be used for this. JavaScript is the most popular but ideally would want devs proficient in Objective C due to it being strictly a C programming language for iOS and XML for Android. To ensure the software is functioning correctly developers will also need to be skilled in testing and debugging.

Hardware required are fast running and reliable servers to store user data and information, so there will need to be people who can manage and operate. Computers will be needed to use an IDE for coding, as well as iOS and Android devices to test the application.

Outcome

If the project is successful, this advancement would assist many users in the future when it comes to learning a new language or trying to pass exams and tests like TOEFL and IELTS. As a group, we really wanted to create an application that would act more like a private tutoring class and sessions as opposed to just generic learning, catering to international students and people moving to a foreign country. Our application would have features that no other online learning language application has, allowing users to sign up to a premium to be able to mimic a face-to-face learning via using platforms like Microsoft Teams. Despite all the features we intend to have, we will have issues with this development. One being that other applications like Duolingo is dominating the learning language scene, so receiving new users may be challenging. This will result in us requiring to advertise and promote our application for new users, potentially allowing new members to use the application for free as a trial. Assuming that the application would have more users, it is also expected that we would have more professionals to work with, hence requiring financial support from a larger organisation. Overall though, while our multilingual language learning application is not perfected and still has room for improvement, we hope our project will expand globally and assist as many people and students as possible in learning a new language, expanding our multiculturalism.