-
-
Notifications
You must be signed in to change notification settings - Fork 2
Home
We need a way for churches to manage events and provide multiple event calendars.
- Events will be tied to a group. Group leaders have access to manage all events for that group.
- We will have single events, recurring events and exceptions to those recurring events.
- Events can have visibility settings of public of members only.
- We need to create a calendar component for displaying events (react-big-calendar)
- This calendar will be shown on the group details page on B1
- We also need a version for the page admin that can be dropped on any page and configured for any group.
- Clicking an event will provide a details popup. This should include:
- A photo (either from the event itself or the group photo if the event doesn't have one.)
- A description with markdown.
- A comments section.
-
Admins should be able to create CuratedCalendars that combine events from multiple groups.
-
Some examples would be a whole church calendar, a youth group calendar, or a small group calendar.
-
It works like a playlist. The events are still "owned" by the groups, but can be added to this curated list.
-
A church admin should be able to add a whole group to this curate list (all their events show up automatically), a recurring series or a single event.
-
Recurring exceptions do not need to be managed by the curated calendar.
-
For now, people will not mark themselves in attendance.
-
The StreamingServiceTimes should eventually become Events instead.
When users log into B1 the first screen they should see (unless a church decides otherwise) is a news feed.
- The things that will show up here are:
- Any conversations from groups they are part of
- Any events from their groups or from a curratedCalendar for that church.
- Any open tasks where they are the creator, associated with person, or assigned to person.
- We will need some kind of weighting system for the sort order. lastUpdated will be the primary sorting mechanism. If someone posts a comment on a conversation or event, it'll be bumped to the top. However, a calendar event that is happening tomorrow should also have high importance, even if no one has commented on it in a while.
- Users should be able to comment directly from this feed.
- The behavior in general would be similar to facebook.
- There are no user-level posts like a social network. Just group conversations and events.
- New conversations and events are not created from the feed. Those are done from the group pages.
- Comments are just text, no photos or video.
We need real-time notifications across the authenticated portions of all apps and the mobile app.
- There should be an alert bell with a count showing what notifications there are.
- It should receive push notifications and not be dependent on a page refresh.
- Ideally, I'd like a single system for all push notifications, including the live stream chat.
- Ideally, I'd like for updates to happen real-time in various app components too. For example when a new comment is left on a post you're viewing.
- If a additional events of the same type happens (5 additional comments on a post) and you haven't acknowledge the first notification, it should not register additional notifications.
- You should be notified of new posts/events to groups you belong to and new comment on conversations you have participated in.
- If you install the B1Mobile app, you should have the option to receive push notifications (opted-in by default)
- Only a single push notification should be sent, until you view notifications from either the app or web site no more push notifications will be sent.
We need to support other languages.
- Look into https://www.i18next.com/ for this. I'm not certain it's the right solution, but looks likely. It's built into Android as well.
- Each church should select what language to use for their apps.
- All of the labels, error messages and other built in text will appear in that language.
- Any user entered content will appear in the language it's entered. We will not attempt to auto-translate it.
- I don't think end users need the ability to select language, just churches. Otherwise content will end up being a mix-match.
- We'll need to replace all text like "Welcome to Chums" with some type of variable like
localText.chums.welcome
. - Provide a single file (ideally JSON) for each language/app combination to define the text values of these variables.
chums.en.json
andchums.es.json
for example. - We need to make sure we have some kind of intellisense for the code so we don't mess up these labels.
- Later we need to look into other currencies for donations, but that won't be part of this stage.