README.md (3493B)
1 # Nordic Calendar 2 3 A modern, Material 3 calendar application for Android that integrates seamlessly with your existing 4 calendar accounts. 5 6 ## Features 7 8 - **Material 3 Design** - Clean, modern interface following Google's latest design guidelines 9 - **Multiple View Types** - Month, week, and day views for different planning needs 10 - **Calendar Integration** - Works with your existing calendar accounts (CalDAV, Google Calendar, 11 etc.) 12 - **Smart Navigation** - Intuitive navigation between different time periods 13 - **Event Management** - View and interact with your calendar events 14 - **Dark Mode Support** - Automatically adapts to your system theme 15 - **Accessibility** - Built with accessibility in mind 16 17 ## Screenshots 18 19 <!-- TODO: Add screenshots when available --> 20 21 ## Requirements 22 23 - Android 8.0 (API level 26) or higher 24 - Calendar permissions for reading existing events 25 26 ## Installation 27 28 ### From Releases 29 30 1. Download the latest APK from the [Releases](https://github.com/MTRNord/NordicCalendar/releases) 31 page 32 2. Install the APK on your Android device 33 3. Grant necessary permissions when prompted 34 35 ### Building from Source 36 37 1. Clone the repository: 38 ```bash 39 git clone https://github.com/MTRNord/NordicCalendar.git 40 cd NordicCalendar 41 ``` 42 43 2. Build with Gradle: 44 ```bash 45 ./gradlew assembleDebug 46 ``` 47 48 3. Install on your device: 49 ```bash 50 ./gradlew installDebug 51 ``` 52 53 ## Development 54 55 ### Prerequisites 56 57 - Android Studio Hedgehog | 2023.1.1 or newer 58 - JDK 17 or higher 59 - Android SDK with API level 34 60 61 ### Tech Stack 62 63 - **Kotlin** - Primary programming language 64 - **Jetpack Compose** - Modern UI toolkit 65 - **Material 3** - Design system and components 66 - **Hilt** - Dependency injection 67 - **Navigation Compose** - Navigation framework 68 69 ### Architecture 70 71 The app follows Android's recommended architecture patterns: 72 73 - **MVVM** - Model-View-ViewModel pattern 74 - **Repository Pattern** - Data layer abstraction 75 - **Single Activity** - Navigation handled by Compose Navigation 76 77 ### Contributing 78 79 Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open 80 an issue first to discuss what you would like to change. 81 82 1. Fork the repository 83 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 84 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 85 4. Push to the branch (`git push origin feature/amazing-feature`) 86 5. Open a Pull Request 87 88 ### Code Style 89 90 - Follow [Kotlin coding conventions](https://kotlinlang.org/docs/coding-conventions.html) 91 - Use meaningful variable and function names 92 - Add comments for complex logic 93 - Ensure proper null safety 94 95 ## License 96 97 This project is licensed under the European Union Public License 1.2 (EUPL-1.2) - see 98 the [LICENSE](LICENSE) file for details. 99 100 ## Privacy 101 102 Nordic Calendar respects your privacy: 103 104 - All calendar data remains on your device 105 - No data is collected or transmitted to external servers 106 - Only necessary permissions are requested 107 108 ## Support 109 110 If you encounter any issues or have suggestions: 111 112 - Open an issue on [GitHub Issues](https://github.com/MTRNord/NordicCalendar/issues) 113 - Check existing issues before creating a new one 114 - Provide detailed information about your device and Android version 115 116 ## Acknowledgments 117 118 - [Material Design](https://material.io/) for design guidelines 119 - [Jetpack Compose](https://developer.android.com/jetpack/compose) for the modern UI framework 120 - The Android development community for continuous inspiration