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

S25 Sprint 2- Create Recurring Events feature #427

Open
4 tasks
johannesq23 opened this issue Jan 21, 2025 · 0 comments
Open
4 tasks

S25 Sprint 2- Create Recurring Events feature #427

johannesq23 opened this issue Jan 21, 2025 · 0 comments
Assignees

Comments

@johannesq23
Copy link
Contributor

johannesq23 commented Jan 21, 2025

Context

One nonprofit we are working with will use Voluntrack to manage volunteer shifts- which occur every day. To remove the need to manually create a new event each day, we want to add a recurring events feature to the event creation.

Note that there was a previously raised PR for this feature whose implementation nearly match the requirements of this ticket. Feel free to take inspiration from it, especially the back-end logic: #414

Requirements

This will be an extension on the event creation tab. We would like to add a dropdown for "Recurring Event" that has default value of "Does not repeat". If the user clicks the dropdown, they should have the option to choose between preset options and a custom option. Upon clicking the custom option, a pop-up modal should appear centered over the existing screen. The preset option for "Weekly on [Day of Week]" should be dynamic, representing the day of the week that the event is being created. For example, if the user creates a recurring event on Tuesday, that option should say Weekly on Tuesday. Similarly, "Monthly on [#][Day of Week]" and "Annually on [Date]" should also be dynamic. For "Monthly on [#][Day of Week]," it should say something like "Monthly on 2nd Tuesday" if the event is created on the second Tuesday of the month.

Please refer to the Figma when creating this feature: https://www.figma.com/design/Yga5tKOs9KLMdLptn9KcCC/VolunTrack-2.0-Spring-25?node-id=14082-1761&t=DqzBpfxIZcDArTwr-1. To assist you in the front-end design of this ticket, feel free to use the ShadCN component library: https://ui.shadcn.com/docs/ (Dropdown Menu + Calendar components) and Hero Icons: https://heroicons.com/

In terms of the backend, look at /src/screens/Events/Admin to get started. Use the rrule library to get the dates for each recurrence. There should be one eventparents entry and multiple event entries for each event. When editing or deleting an event that is part of a recurring event group, have an option for the user to edit/delete just that specific event or all future events.

Test with all rules and edge cases ensuring it works for all cases. Also, make sure that any schema changes do not negatively impact/break the existing application. Reach out if to Johannes or Emily if you have any questions!

Acceptance Criteria

  • Design matches Figma
  • Ability to create recurring events with preset and custom option
  • Recurring Events feature works as intended
  • Option to edit and delete one event or all future events (make sure this does not impact past events that have already occurred)
@emilyliublair emilyliublair changed the title S25 Sprint 1- Create Recurring Events feature S25 Sprint 2- Create Recurring Events feature Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants