Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract helper_functions.dart into a separate helper_functions package #1194

Merged
merged 6 commits into from
Dec 19, 2023

Conversation

nilsreichardt
Copy link
Member

The package sharezone_widgets used the isNullOrEmpty() / isNotNullOrEmpty() method from the sharezone_common package. However, the sharezone_common package has a lot of Firebase dependencies. With extracting the helper_functions.dart into a helper_functions package, I removed all Firebase dependencies from sharezone_widgets 👍

@github-actions github-actions bot added code quality Code quality itself (readable) but e.g. also how we might enforce better quality automatically. feature: homework feature: homework-submissions Submissions can be toggled for homeworks so that pupils can upload their solutions for the teacher. feature: file-sharing Files can be shared inside Sharezone e.g. by uploading them in a file-sharing folder of a course. feature: timetable / calendar Includes anything regarding lessons (timetable) and events (calendar). feature: information sheet Information sheets are posted to courses as a way to announce information. ui / ux feature: universal file features File features (downloading, preview, etc.) that are used by multiple Sharezone features. feature: holidays feature: groups:courses Specific to only courses (instead of e.g. classes) feature: groups:classes Specific to only classes (instead of e.g. courses) feature: groups Groups umbrella term for courses and classes. feature: navigation Navigation inside the app (e.g. switching to a different screen). feature: onboarding The steps (setting username, courses, etc.) after creating a new account. feature: group permissions Group admins can set what permissions different course members can do (e.g. only read content). feature: authentification Logging in/out (anonymous, sign-in with X, etc.) and registration. feature: report Users can report content inside Sharezone (e.g. if an info sheet contains hate speech). feature: comments Comment on contents (homeworks, info sheets) to e.g. ask for clarifications on a task. dependencies Changing, updating, adding or removing one or more dependencies. feature: feedback Users can send us feedback to improve the app. feature: analytics Includes everything that is related to analytics and usage tracking feature: sharezone plus Includes everything that is related to the Sharezone Plus subscription w: dashboard-page Page that shows a summary of all important things (homeworks, events, etc.). labels Dec 14, 2023
Copy link

github-actions bot commented Dec 14, 2023

Visit the preview URL for this PR (updated for commit dbed863):

https://sharezone-website-dev--pr1194-helper-functions-pac-kr6tm54f.web.app

(expires Mon, 18 Dec 2023 17:13:47 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 372b0431a96247f908d9a97d5d865de1c8b3b04e

Copy link

github-actions bot commented Dec 14, 2023

Visit the preview URL for this PR (updated for commit dbed863):

https://sharezone-test--pr1194-helper-functions-pac-bg68e12r.web.app

(expires Mon, 18 Dec 2023 17:15:02 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 4cb3ae61e1e018abfd9841fd3239f5b49ccc034b

Copy link
Collaborator

@Jonas-Sander Jonas-Sander left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, lets try not to make it a "everything" package in the future.

@nilsreichardt
Copy link
Member Author

I needed to make these changes to remove Firebase dependencies from sharezone_widgets, because the Sharezone Plus widgets depend on sharezone_widgets and the Sharezone Plus widgets will be integrated to our website. Having one Firebase dependency in Flutter, will load all Firebase SDKs for the web (is bad implemented).

@nilsreichardt nilsreichardt added this pull request to the merge queue Dec 15, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 15, 2023
@nilsreichardt nilsreichardt added this pull request to the merge queue Dec 15, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 15, 2023
@nilsreichardt nilsreichardt added this pull request to the merge queue Dec 19, 2023
Merged via the queue into main with commit 575da42 Dec 19, 2023
27 checks passed
@nilsreichardt nilsreichardt deleted the helper-functions-package branch December 19, 2023 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code quality Code quality itself (readable) but e.g. also how we might enforce better quality automatically. dependencies Changing, updating, adding or removing one or more dependencies. feature: analytics Includes everything that is related to analytics and usage tracking feature: authentification Logging in/out (anonymous, sign-in with X, etc.) and registration. feature: comments Comment on contents (homeworks, info sheets) to e.g. ask for clarifications on a task. feature: feedback Users can send us feedback to improve the app. feature: file-sharing Files can be shared inside Sharezone e.g. by uploading them in a file-sharing folder of a course. feature: group permissions Group admins can set what permissions different course members can do (e.g. only read content). feature: groups:classes Specific to only classes (instead of e.g. courses) feature: groups:courses Specific to only courses (instead of e.g. classes) feature: groups Groups umbrella term for courses and classes. feature: holidays feature: homework feature: homework-submissions Submissions can be toggled for homeworks so that pupils can upload their solutions for the teacher. feature: information sheet Information sheets are posted to courses as a way to announce information. feature: navigation Navigation inside the app (e.g. switching to a different screen). feature: onboarding The steps (setting username, courses, etc.) after creating a new account. feature: report Users can report content inside Sharezone (e.g. if an info sheet contains hate speech). feature: sharezone plus Includes everything that is related to the Sharezone Plus subscription feature: timetable / calendar Includes anything regarding lessons (timetable) and events (calendar). feature: universal file features File features (downloading, preview, etc.) that are used by multiple Sharezone features. ui / ux w: dashboard-page Page that shows a summary of all important things (homeworks, events, etc.).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants