Lingo
Live Preview
A free, fun, playful and effective way to learn a language!
Lingo is available on Github under the FSL-1.1-MIT License.
Make a Gamified Language Learning Application, which helps users learn new languages easily.
- Users can register a new account, login to their existing account and sync their progress with the cloud.
- Upon the first signup of the user, basic questions are asked like their skill level, and which language they want to know. For a more tailored experience, and it allows the user to skip initial basic sections if needed.
- LEARN: See the entire curated learning path, their current progress and all units that are going to come.
- RANKINGS: View the entire leaderboard, based on the Crown Points(XP) generated by the users.
- SHOP: Currently we allow trading of Crown Points for Hearts. (If the heart points of the users goes to zero, he is unable to attempt the lessons/levels for 15mins)
- PROFILE: View the current users profile.
- Each lesson consists of a set of questions and help in teaching the user basic concepts.
- In the database, we store a list of keywords as a rubaric for the person to learn in that lesson. Then on the fly using Gemini, we generate new sentences, phrases, related words and also all of their translations. This is then parsed in the correct format, and then a set of questions is by the client of which a random set of questions are chosen to be shown to the user.
- Currently there are 4 types of questions allowed: NEW_WORD, FILL_BLANK, TRANSLATE, MCQ. Each correct submission awards 10XP, and each wrong attempt deducts a heart.
- All the keywords are stored in the MongoDB.
- Make sure to have git and npm installed.
- Use
git clone https://github.com/mrtechtroid/lingo.gitto clone the project. - Alternatively download this github repository as ZIP, Extract the zip file.
- do
cd frontendand donpm install - Incase you encounter any errors in the previous step run the command
npm config set legacy-peer-deps trueand then redonpm install - To start the frontend, do
npm dev
- do
cd backendand donpm install - Create a new .env file inside the backend folder, and add the following Secret variables.
PORT = 8080
MONGO = <MONGO_CONNECTION_URL>
JWT_SECRET = secret
API_KEY=<GOOGLE_GEMINI_API_KEY>
- You can get the two api keys from Mongo, and Gemini respectively.
- Once both the front end and backend is running, you can now start using the application.
- The time constraint of a single day was a major constraint for both of us.
- Aditionally learning how to use express and google-gemini api's while making sure to keep the site running as smoothly as possible with the least amount of lag.
- Challenges between two users/players where they can wage some portion of Experience, and do a language battle.
- Addition of an interactive chat bot which tries to correct all grammar mistakes in the learning language.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
By Team Tech Duo
Released under FIT-1.1-MIT License.