Sptimer is a feature-rich Pomodoro Timer application built with Flutter that helps you boost productivity and maintain focus while reducing fatigue during daily tasks. Using the proven Pomodoro Technique, the app divides your work into focused intervals with strategic breaks.
Core Features:
- Break your daily tasks into customizable work sessions (typically 25 minutes)
- Take short breaks between work sessions (typically 5 minutes)
- Enjoy longer breaks after completing multiple work cycles (typically 15-30 minutes)
- Maintain mental and physical readiness throughout your workday
- Track your productivity and stay motivated
- 🎯 Customizable Pomodoro Settings - Adjust work duration, break duration, and long break intervals
- 🔔 Smart Notifications - Get notified when timers complete with sound and vibration
- 🎨 Beautiful Neumorphic UI - Modern, minimalist design with smooth animations
- 🌍 Multi-language Support - Localized for Persian and English
- 🎵 Audio Feedback - Multiple tone options for timer completion
- 🏃 Background Service - Timer continues running even when app is closed
- 📊 Session Tracking - Monitor your completed work sessions
- 🎭 Dark Mode Support - Easy on the eyes for extended use
- ✨ Smooth Animations - Delightful visual feedback throughout the app
- 🎚️ Volume Control - Integrated real-time volume adjustment
- Dart 3.8+ - Modern Dart language features
- Flutter - Cross-platform mobile UI framework
- Flutter BLoC - State management
- GetIt - Service locator & dependency injection
- MVVM Architecture - Separation of concerns
- BLoC Pattern - Business Logic Components
- Repository Pattern - Data abstraction
- Neumorphic Design - flutter_neumorphic_plus
- Flutter ScreenUtil - Responsive design
- Animated Components - animate_do
- Hive - Local NoSQL database
- JSON Serialization - freezed & json_serializable
- AutoRoute - Type-safe navigation
- Flutter SDK: 3.8.0 or higher
- Dart: 3.8.0 or higher
- Android SDK (for Android build)
-
Clone the repository
git clone https://github.com/zamaniafshar/sptimer.git cd sptimer -
Install dependencies
flutter pub get
-
Generate necessary files (for freezed, json_serializable, auto_route, etc.)
flutter pub run build_runner build --delete-conflicting-outputs
-
Run the app
# Android flutter run -d android
This project includes comprehensive unit tests to ensure code quality and reliability.
flutter testThe test suite ensures:
- ✅ Timer logic accuracy
- ✅ Duration calculations
- ✅ State management correctness
- ✅ Edge case handling
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Flutter team for the amazing framework
- All contributors and users
- The Pomodoro Technique by Francesco Cirillo
If you find this project helpful, please consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs via issues
- 💡 Suggesting new features
- 📤 Sharing with others
Made with ❤️ using Flutter







