![Sharezone Banner with two phones](https://user-images.githubusercontent.com/29028262/151260826-4d13664c-8269-442c-bf78-1197899afffb.png) ## Download Sharezone | Android | iOS | macOS | Web | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Get Sharezone on Google Play | Get Sharezone for iOS | Get Sharezone for macOS | Open the Sharezone web app | [Sharezone](https://sharezone.net) is a collaborative school organization app for iOS, Android, macOS and web.\ With Sharezone pupils, teachers and even parents can use the following features together as a class: - πŸ“š Homework diary - πŸ•’ Timetable - πŸ“… Calendar - πŸ’¬ Information sheets - πŸ“ Files - ⭐️ Grades (not shared with the class) Sharezone is currently only available in German. We might expand to more languages and regions in the future πŸŒπŸš€ [Join our Discord](https://sharezone.net/discord) for active discussions, announcements, feedback and more! ## Repository Overview - πŸ›  **.github/**: Our fully automated CI/CD pipeline using GitHub Actions and [`codemagic-cli-tools`](https://github.com/codemagic-ci-cd/cli-tools). Used to publish alpha, beta, and stable versions to Google Play Store (Android), App Store (iOS, macOS), TestFlight (iOS, macOS), and Firebase Hosting (Web). - πŸ“± **app/**: The main "Sharezone" app, created with [Flutter](https://flutter.dev). - πŸ“š **lib/**: A place for our internal Dart/Flutter packages. Used to modularize and share code between app, website and admin console. - πŸ“– **docs/**: Our end user documentation [docs.sharezone.net](https://docs.sharezone.net), built with [Nextra](https://nextra.site/). Is currently pretty sparse, but we are working on improving it. - 🌐 **website/**: Our [sharezone.net](https://sharezone.net) website (not the web app) built with Flutter. - πŸ”§ **console/**: Our admin console used by the Sharezone team for support / administrative tasks. Also built with Flutter. - πŸ› οΈ **tools/sz_repo_cli/**: Our custom `sz` Dart CLI used by developers and CI/CD pipelines. Helps with tasks like testing, analyzing, building, deploying etc. ## Running the app To run the app locally, please read the instructions in our [CONTRIBUTING.md](./CONTRIBUTING.md#running-the-app). ## Tests We use several types of tests to ensure the quality and stability of Sharezone: - [Unit Tests](https://docs.flutter.dev/cookbook/testing/unit/introduction): Verify the logic of individual functions or classes in isolation. - [Widget Tests](https://docs.flutter.dev/cookbook/testing/widget/introduction): Test widgets’ UI and interaction behavior without running the full app. - [Golden Tests](https://api.flutter.dev/flutter/flutter_test/matchesGoldenFile.html): Compare rendered widgets to β€œgolden” reference images to detect unintended visual changes. - [Integration Tests](https://docs.flutter.dev/cookbook/testing/integration/introduction): Run the app on a device or emulator to test end-to-end flows. To run the tests, please read the instructions in our [CONTRIBUTING.md](./CONTRIBUTING.md#tests). ## Open-Source This project is licensed under [EUPL v1.2](https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12) or later.\ For some files other licenses or terms (regarding e.g. copyright) might apply. This can be indicated, for example, by a notice included in the file itself or a README in a parent folder.\ Guidelines for users and developers for the EUPL v1.2 can be found [here](https://joinup.ec.europa.eu/collection/eupl/guidelines-users-and-developers). ## Contribute To contribute just open a PR and sign the [Contributor License Agreement](https://github.com/SharezoneApp/public/wiki/Sharezone-CLA-Overview). A bot will automatically ask you to accept the CLA when a PR is opened if you haven't already. We have more instructions to help you get started in the [CONTRIBUTING.md](CONTRIBUTING.md). ## Follow us - [Instagram](https://www.instagram.com/sharezone.app/) - [Twitter](https://twitter.com/SharezoneApp) - [Discord](https://sharezone.net/discord)