A simple, offline-first calendar application built with Flutter.
This project is a mobile-first calendar application designed for personal use. It provides a clean and intuitive interface for managing your schedule, with all data stored locally on your device.
- Users who want a private, no-frills calendar.
- Developers looking for a practical example of a Flutter application using
table_calendarandhivefor local storage.
- For personal scheduling and event tracking.
- As a starting point for building a more feature-rich calendar app.
- If you need collaborative features or cloud synchronization across multiple devices.
- Intuitive Calendar View: A customizable calendar display powered by
table_calendar. - Offline-First: All your data is stored locally using
hive, so you can access your schedule without an internet connection. - Clean UI: A minimalist user interface with custom fonts from
google_fonts. - Cross-Platform: Built with Flutter, this app can be compiled for Android, iOS, and other platforms.
- CSV-input Supported: Supports CSV import for bulk creation of events.
The application is built using a standard Flutter architecture.
- The UI is built with Flutter widgets.
- The main screen features a calendar view from the
table_calendarpackage. - Events and user data are stored in a local
hivedatabase. - The
intlpackage is used for date formatting and localization.
├── lib
│ ├── main.dart # App entry point
│ └── pages
│ └── calendar.dart # Main calendar screen
├── android
├── ios
├── web
├── linux
├── macos
├── windows
└── pubspec.yaml # Project dependencies
- Flutter SDK
- A code editor (like VS Code or Android Studio)
- An Android emulator, iOS simulator, or a physical device
- Clone the repository:
git clone https://github.com/your-username/rune.git cd rune - Install dependencies:
flutter pub get
- Run the app:
flutter run
- Launch the app on your device or emulator.
- The main screen will display a calendar.
- Tap on a date to view, add, or edit events for that day.
There are no environment variables or special configuration files to set up. All project dependencies and settings are managed in pubspec.yaml.
- Local Data Only: This application does not support cloud synchronization. All data is stored on the device and will be lost if the app is uninstalled.
- Single User: Designed for a single user on a single device.
- If you encounter issues with your Flutter environment, run
flutter doctorto diagnose the problem. - For dependency-related issues, try running
flutter cleanfollowed byflutter pub get.
Contributions are welcome! If you'd like to help improve this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature). - Open a pull request.
Please run flutter analyze to check for any code style issues before submitting a pull request.