Skip to content

Latest commit

 

History

History
172 lines (117 loc) · 7 KB

File metadata and controls

172 lines (117 loc) · 7 KB

Notoro – Your Personal Strength Training App

Flutter Version Dart Version License: MIT Open Source Love


🧠 Project Description

Notoro is a comprehensive and intuitive workout tracking app that helps you plan, execute, and analyze your strength training sessions.

Whether you're a beginner or an experienced lifter, Notoro is designed to give you control over your workouts, your progress, and your training routine — all in one app.


🏆 Key Features

  • 📝 Custom Workout Builder
    Create your own workouts using a mix of predefined and custom exercises.

  • 🗓 Weekly Training Plan
    Assign workouts to days of the week and follow your plan with ease.

  • 🏋️ Workout Sessions
    Log every set, rep, and weight. Customize rest durations, track active time, and auto-save progress.

  • 📊 Advanced Statistics
    View trends, muscle group distribution, volume progress, and more.

  • 📆 Workout History
    Revisit every past workout with full breakdowns and performance logs.

  • ⚙️ Settings & Personalization
    Dark/light/system theme, weight unit preference (kg/lb), default rest/reps/sets, and language selection.

  • 🌍 Multilingual Support
    English, Polish, German, French, Spanish, Italian, Portuguese


📸 Screenshots

Home Workout Session Summary History Settings

🚀 Getting Started

Clone the repo and launch the app locally.

git clone https://github.com/AdamDybcio/notoro.git
cd notoro
flutter pub get
flutter run

🧭 How to Use

Create a Workout

  • Tap the ➕ New Workout button.
  • Choose a name, add exercises, and define sets, reps, and weights.
  • Reorder exercises and fine-tune each set to your preference.

🗓️ Set Up a Weekly Plan

  • Open the Weekly Plan section.
  • Assign workouts to specific days.
  • Tap any day to modify or clear the assigned workout.

▶️ Start a Workout Session

  • Tap Start to launch a session.
  • Follow on-screen instructions, track your sets manually, or edit values on the go.
  • Customize rest between sets and exercises.
  • Pause, resume, or abandon sessions – all progress is saved.

📈 Analyze Progress

  • Track total volume, most frequent workout days, weight lifted over time, and more.
  • See your muscle group focus across workouts.
  • Visual insights help you balance your training.

📚 Browse Workout History

  • Go to the History tab to revisit past sessions.
  • View each workout's:
    • Duration
    • Volume
    • Completed sets
    • Body part distribution
    • Exercises performed

⚙️ Customize App Settings

  • Switch between light/dark/system theme.
  • Choose between kg and lb units.
  • Set default values for:
    • Rest time between sets and exercises
    • Reps and sets per exercise
  • Change app language at any time.

🧱 Architecture

The app is built in Flutter and uses:

  • Bloc for state management in critical flows
  • Hive for local data persistence
  • flutter_localizations for i18n
  • fl_chart for rich visual statistics
  • Provider selectively where simpler listening is enough

The structure follows clean separation of UI, logic, and data layers with modular widgets and reusable components.


🧪 Testing

Unit and widget tests are located in the test/ directory.
To run tests:

flutter test

More tests and coverage will be added in future releases.


🛠 Troubleshooting

If you run into issues:

  • Run flutter clean and flutter pub get
  • Ensure you're using the correct Flutter version (3.10+)
  • Check emulator/device setup and permissions
  • Watch the logs with flutter run -v

🤝 Contributing

We welcome contributions! 🚀

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request with a clear explanation
  4. Respect existing architecture and style

Ideas, issues, and suggestions are always appreciated!


📄 License

Notoro is open source and available under the MIT License.


💬 Contact

Created and maintained by Adam Dybcio
Feel free to connect or open an issue!