-
Notifications
You must be signed in to change notification settings - Fork 10
feat: inline chores notifications #187
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
Draft
thisislawatts
wants to merge
16
commits into
master
Choose a base branch
from
feat/inline-chores-notifications
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Note Commits will be squashed prior to merge |
bdce95a
to
846825a
Compare
2d1d967
to
8057e58
Compare
thisislawatts
added a commit
to MakerSpaceLeiden/aggregator
that referenced
this pull request
Jul 13, 2025
This functionality is being migrated across to the CRM app MakerSpaceLeiden/makerspaceleiden-crm#187
thisislawatts
added a commit
to MakerSpaceLeiden/aggregator
that referenced
this pull request
Jul 13, 2025
This functionality is being migrated across to the CRM app MakerSpaceLeiden/makerspaceleiden-crm#187
thisislawatts
added a commit
to MakerSpaceLeiden/aggregator
that referenced
this pull request
Jul 13, 2025
This functionality is being migrated across to the CRM app MakerSpaceLeiden/makerspaceleiden-crm#187
thisislawatts
added a commit
to MakerSpaceLeiden/aggregator
that referenced
this pull request
Jul 13, 2025
This functionality is being migrated across to the CRM app MakerSpaceLeiden/makerspaceleiden-crm#187
thisislawatts
added a commit
to MakerSpaceLeiden/aggregator
that referenced
this pull request
Jul 13, 2025
This functionality is being migrated across to the CRM app MakerSpaceLeiden/makerspaceleiden-crm#187
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch integrates chore notification functionality that was previously hosted within the Aggregator, into this CRM application. The intention of the migration is to avoid making significant changes to the logic. The changes to the CRM include:
Core Functionality Added:
send_reminders
command for processing scheduled notifications. This can be invoked by a cron job to trigger the reminders.Key Architectural Change:
ChoreNotification
model to replace Redis-based duplicate prevention from the previous implementation. This provides persistent storage and better integration with Django's ORM.Key Components:
chores/core.py
(417 lines): Core logic for chore events, time calculations, and notification processingchores/models.py
: Database models for chores, volunteers, and notification trackingchores/management/commands/send_reminders.py
: Django management command for sending reminderschores/messages.py
: Email message templates for volunteer remindersDependencies Added:
croniter>=6.0.0
- from aggregator for cron-based schedulinghumanize>=4.12.3
- from aggregator for human-readable time formattingtime-machine>=2.16.0
- For time manipulation in testsfactory-boy>=3.3.3
- For test data generationMinor Changes:
full_name
property toUser
model inmembers/models.py
Impact:
This consolidation eliminates the need for a separate service while maintaining the same functionality for chore scheduling and volunteer notification management. The system supports complex scheduling patterns and prevents duplicate notifications through database tracking instead of Redis, providing better persistence and integration with the Django ecosystem.
This PR introduces the logic, but it will need to be tied into a cron job on the server before it is functional.
Supporting diagrams:
Current implementation in Aggregator

New implementation
