Skip to content

Ganesh2006646/language-learning-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

LingoLearn β˜•

LingoLearn Banner

πŸ“– Story

LingoLearn was created as a terminal-based learning simulator to explore and master the fundamental pillars of Object-Oriented Programming (OOP) in Java. The motivation was to move away from theoretical definitions and build a modular, extensible, and clean application that models a real-world SaaS language learning platform.

This project allowed us to apply structural design principles, separate business logic from console interactions, and implement gating algorithms that restrict learning pathways until foundational exercises are solved.


⚑ Features

  • OOP Principle Demonstrations:
    • Abstraction: Implemented through abstract base class core.Lesson and decoupled interfaces core.Assessable and core.Trackable.
    • Encapsulation: Private class attributes, clean constructor mapping, and strict getter/setter interfaces across all entities (such as User and LessonProgress).
    • Inheritance: Subclasses (GrammarLesson, VocabularyLesson, PronunciationLesson) extending parent structures.
    • Polymorphism: Dynamic method dispatch for showing lesson contents and evaluating user quizzes dynamically.
  • Diverse Course Modules: Multi-faceted exercises teaching sentence syntax, vocabulary definitions, and phonetic pronunciations.
  • Progress Lock & Level Gating: Restricts access to advanced levels until the prerequisites are cleared by the user.
  • Evaluation & Scoring Engine: Real-time scoring out of 100%, passing thresholds, and limited assessment retries.
  • Daily Challenges: Tracking systems looking at daily progress logs to encourage consistent practice.

πŸ› οΈ Tech Stack

  • Programming Language: Java SE (17 or higher)
  • Compilation & Execution: Java Virtual Machine (JVM) & JDK compiler toolchain
  • User Interface: CLI (Command Line Interface)

πŸš€ How to Run

Prerequisites

  • Java Development Kit (JDK 17 or higher) installed on your system.

Build and Run from Terminal

  1. Clone this repository locally:
    git clone https://github.com/Ganesh2006646/language-learning-application.git
    cd "language-learning-application/Language Learning Application"
  2. Create the output directory:
    mkdir bin
  3. Compile the Java source code files:
    javac -d bin src/**/*.java
  4. Run the compiled class binaries:
    java -cp bin app.Main

🎯 Conclusion

LingoLearn successfully brings theory to practice by implementing pure OOP concepts in a structured console environment. Gaining hands-on experience in defining abstract boundaries, packaging classes, and debugging terminal-based states layed the groundwork for understanding how large-scale enterprise services are modeled.


Developed with πŸ’– by
K Ganesh Giridhar
Amrita Vishwa Vidyapeetham

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages