Learn Trail
Education app that creates customizable learning paths for any subject. It integrates with any databases, offering sequential lessons and questions, user progress tracking, and gamification features to enhance the learning experience.
Screenshots 📱
Features ✨
- Learning progression by sections
- Multilanguage powered by AI
- Offline first
Built with 🛠️
- Kotlin - First-class and official programming language for Android development.
- Kotlin coroutines - Library for writing asynchronous code sequentially and concurrently.
- Jetpack Compose - Android’s modern toolkit for building native UI.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Jetpack Compose Navigation - Navigation system for allowing users to navigate across different parts of your app.
- Material 3 - Modular and customizable Material Design UI components for Android.
- Firebase ML kit - Use machine learning in your apps to solve real-world problems.
- Retrofit - Type-safe HTTP client for Android and Java.
- Moshi - Modern JSON library for Android and Java, which makes it easy to parse JSON into Java/Kotlin objects.
- Room - Persistence library providing an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- Versions Catalog - Centralized dependency version management to keep track of library versions in a single place.
- JUnit - Simple framework to write repeatable tests, used for unit testing in Android.
- MockK - Mocking library for Kotlin.
- Hilt - Dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
Contributing 🤝
We welcome contributions! Follow these steps to contribute:
Getting started 🏁
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
).
- Commit your changes (
git commit -m 'Add some feature'
).
- Push to the branch (
git push origin feature/your-feature
).
- Open a Pull Request.
Installation ⚙️
- Clone the repository:
git clone https://github.com/wellingtonrib/LearnTrail.git
- Open the project in Android Studio.
- Sync the project with Gradle files.
- Build and run the project on an Android device or emulator.
Creating your own learning path 📚
- Create your own remote datasource and adapters at data/datasources/remote
- Change the RemoteDataSourceStrategy at di/DataModule to your created remote datasource
Project TODOS ✅
https://github.com/users/wellingtonrib/projects/2
Contact 📫
Developed by Wellington Ribeiro. If you have any questions or feedback, feel free to reach out at wellington.rib@gmail.com.
Acknowledgements 🫡
Thanks to the open-source community for various libraries and tools used in this project.
Support 🎗️
If you like this project, please give it a ⭐️! Contributions and suggestions are welcome.
License 🔑
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International Public License. You may share and adapt the material as long as you give appropriate credit, provide a link to the license, and indicate if changes were made. You may not use the material for commercial purposes.
For more details, please refer to the LICENSE file.