The JSLearner Mobile App is a team assignment for creating an educational platform designed for the "Educational Software" course, offered in the 8th semester of the 2023-2024 academic year at the University of Piraeus, Department of Informatics. The app is an educational platform aimed at teaching JavaScript programming through a dynamic, interactive, and adaptive user interface. Developed using Kotlin and Jetpack Compose for Android, the app offers lessons, quizzes, and progress tracking to enhance learning for users at different skill levels. It supports beginners, intermediate learners, and advanced users by providing personalized content based on individual performance and progress.
In order for the app to function correctly, it requires the JSLearner Backend, which manages user data, processes experience scores, and maintains leaderboards in real-time.
- Institution: University of Piraeus
- Department: Department of Informatics
- Course: Educational Software (2024)
- Semester: 8th
- Kotlin
- Jetpack Compose
- Firebase Authentication
- Firebase Realtime Database
- Firestore
The app offers three levels of learning:
- Beginner: Covers the basics of JavaScript, such as syntax, variables, and functions.
- Intermediate: Focuses on more complex topics like data manipulation, arrays, and loops.
- Advanced: Includes advanced JavaScript concepts like asynchronous programming and event handling.
Each module includes lessons, examples, and interactive exercises to help users reinforce their learning.
- Multiple Question Types: Quizzes feature a variety of question types, including multiple-choice, true/false, and fill-in-the-blank.
- Instant Feedback: Users receive immediate feedback on their answers, promoting better learning outcomes.
- Roadmap Overview: Users can track completed lessons and visualize their progress with a roadmap.
- Experience Points (XP): The app tracks user progress with an XP system, where users earn or lose points based on quiz performance.
- Leaderboard: A global leaderboard ranks users based on their total XP, allowing for real-time competition.
- Roadmap Overview: The learning path and completed lessons can be visualized on a roadmap.
-
Clone the repository:
git clone https://github.com/thkox/JSLearner.git
-
Open the project in Android Studio.
-
Configure Firebase by adding the necessary credentials (Firebase configuration JSON).
-
Build and run the app on an Android device or emulator.
- Full project details can be found in the Project-documentation.pdf.
- A detailed walkthrough video is available: Project-video.mp4.
Roadmap |
Question Example |
Leaderboard |
Apostolis Siampanis |
Theodore Koxanoglou |
Alexander Cholis |
This project is licensed under the MIT License - see the LICENSE file for details.