nordiccalendar

A simple Material 3 native calendar app fitting my personal requirements
git clone git://archive.git.mtrnord.blog/MTRNord/nordiccalendar.git
Log | Files | Refs | README | LICENSE

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