Skip to content

musigatto/MysLog

Repository files navigation

image

MysLog — Your Personal Gym Log

Android Kotlin Jetpack Compose

MysLog is a free, open-source Android application designed for tracking your gym workouts. Built with modern Android development tools, it focuses on simplicity, privacy, and offline functionality.


✨ Features

  • 📱 Modern UI – Built with Jetpack Compose & Material Design 3 for a clean, dynamic interface.
  • 🏋️ Comprehensive Exercise Database – Access over 870 exercises with filters by muscle, equipment, and custom routines.
  • 📊 Full Workout Tracking – Log exercises, sets, weight, and repetitions with detailed session management.
  • 📈 Progress Visualization – View charts and statistics for each exercise to track your improvements.
  • 🔒 100% Offline & Private – All data is stored locally on your device. No accounts, no ads, no subscriptions.
  • ⏱️ Built-in Rest Timer – Customizable timer with notifications to manage your rest periods.
  • 🌍 Bilingual Support – Interface available in English and Spanish (exercise database currently in English).

Note

The exercise database is based on the Free Exercise DB project by yuhonas: https://github.com/yuhonas/free-exercise-db/tree/main


🚀 Getting Started

Download

The latest APK can be downloaded from the Releases section.

Build from Source

  1. Clone the repository:
    git clone https://github.com/musigatto/MysLog.git
  2. Open the project in Android Studio (Flamingo or newer recommended).
  3. Build and run the app on an emulator or physical device.

🛠️ Tech Stack

  • Language: Kotlin
  • UI Toolkit: Jetpack Compose
  • Architecture: MVVM + Repository Pattern
  • Local Database: Room
  • Dependency Injection: Hilt
  • Asynchronous: Kotlin Coroutines & Flow
  • Design System: Material Design 3 (Dynamic Color)

📁 Project Structure

MysLog/
├── app/
│   ├── src/main/java/com/myslog/
│   │   ├── core/          # Constants, navigation routes
│   │   ├── db/            # Database entities, DAO, Repository
│   │   ├── di/            # Dependency injection modules
│   │   ├── ui/            # Composable screens & ViewModels
│   │   └── utils/         # Extensions, converters, services
│   └── src/main/res/      # Resources (strings, themes, assets)

🤝 Contributing

Contributions, issues, and feature requests are welcome! If you find a bug or have an idea for improvement, please:

  1. Check the Issues to see if it's already reported.
  2. Open a new issue or submit a pull request.

To contribute:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

This project is licensed under the MIT License – see the LICENSE file for details.


📬 Contact

Project Link: https://github.com/musigatto/MysLog


Made with ❤️ for the fitness community. If you find this app useful, consider giving it a ⭐ on GitHub!

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages