[x] User entity - uid, username, email, password, phone, avatar, first name, last name, {{ address }}, {{ canBeInvited }}, isAdmin, isBanned, userEvents
[x] User validations (see issue for more info)
Events entity
[x] Event entity - eid, title, start and end date, start and end hour, list of invited participants (if no invite - only creator), public/private, location, description, {{ weather }}, event creator,
[x] Event validations (see issue for more info)
[x] canAddParticipants - the participants may or may not invite other participants
Events page
[x] User must be able to create & participate in multiple events
[x] Event creator must be able to invite & disinvite participants
[x] Detail event page - cover img, location, list of participants, description, date & time (start & end)
Series of events
[x] Event must have a checkbox that marks it as recurring
[x] User must select the frequency of the recurring evnet - by week, month, year
[x] Must have ending date or run indefinitely
Public part:
[x] Login page
[x] Register page
[x] Public events page - list with events cards, all users can see and go inside detailed page.
[x] Filter logic only public events + privet that we are invited or praticipating to
[x] Search for public events only for public event page
Contacts lists entity
[x] Contact list enitity - clid, cl name/title, owner username, owner uid, list of contacts they contain (uid + username)
Private part:
[x] Private part must have personal calendar, profile information (with edit option), personal contact lists & search for users to add to the list.
[x] Personal calendar page
[x] Profile information page with edit personal info
[x] Contact list page + Search for users to add to list
[x] Notification page/pop-up/sidebar where user see invitations for events and can accept/decline invitations
[x] Private events must not be seen by other users by default. If event owner invites a user to that event, only then this invited user can see it.
[x] A page where user see his own calendar with the events that he attends or is invated to or has created.
[x] User must be able to go between the private part and public part of the platform.
Calendar functionality:
[x] Only one calendar - personal user's calendar
[x] The calendar must have the following views - day, week, work week, month (dont use libraries)
[x] {{ Invitations for events view in personal calendar }}
[x] {{ Calendar validations (no 2 events in same time) }}
Admin:
[x] Dedicated admin page with users listing and search func
[x] Search all users but yourself by username, first and last name or email.
[x] Ban / Unban other users. Banned user can't log in. A pop-up notification to be informed.
[x] Dedicated admin page with all events and search func
[x] Search all events by event title
[x] Edit or delete an event
[x] Pagination or infinity scroll for both pages
Homepage
[ ] Homepage fill with info
{{ COULDS }}
[x] Dark mode
[ ] Easter egg
[ ] Email verification - email cofirmation before beign able to log in
[ ] Desktop app - Electron or NW.js
[ ] Calendar subscription - subscribe to others calendar
General:
Firebase configuration:
Users entity
Events entity
Events page
[x] User must be able to create & participate in multiple events
[x] Event creator must be able to invite & disinvite participants
[x] Detail event page - cover img, location, list of participants, description, date & time (start & end)
Series of events
Public part:
Contacts lists entity
Private part:
Calendar functionality:
Admin:
Homepage
{{ COULDS }}