chore: Improve the key features description
This commit is contained in:
parent
08bc211b8a
commit
d2f5528a2f
65
README.md
65
README.md
|
@ -11,13 +11,64 @@ attendees, and categories effectively.
|
|||
|
||||
## Overview / Key Features
|
||||
|
||||
- **Monthly Calendar View**: View events in a grid layout by weeks and days.
|
||||
- **Daily View**: Easily browse and manage daily events.
|
||||
- **Event Management**: Create, edit, and delete events with support for categories and attendees.
|
||||
- **User Authentication**: Register and log in with robust access and refresh
|
||||
token support, ensuring secure and seamless user sessions.
|
||||
- **Error Handling**: Gracefully handles API errors, including scenarios where
|
||||
the backend is unreachable.
|
||||
- **Monthly Calendar View:** The default landing page of the app provides a
|
||||
neatly organized monthly calendar view. Days are displayed in a grid layout
|
||||
with rows representing weeks. Days with events are highlighted. Users can
|
||||
navigate between months using arrow buttons.
|
||||
- **Daily View:** An interface for viewing and managing events for a specific
|
||||
day. Events are displayed as easy-to-read cards, ordered by their start times.
|
||||
From here, users can create new events, edit or delete their own events, leave
|
||||
invited events, or view detailed event information.
|
||||
- **Event Management:** Fully featured event management allows users to create,
|
||||
edit, and delete events. Events support color selection from a color picker,
|
||||
detailed descriptions, and attendee invitations. Invited events are integrated
|
||||
into the calendar, and invite notifications provide quick actions for managing
|
||||
responses.
|
||||
- **Category Management:** Users can create, edit, and delete event categories.
|
||||
These categories can be assigned to events to organize them effectively.
|
||||
Categories also support color selection for easy identification.
|
||||
- **User Authentication:** Secure and robust authentication with automatic
|
||||
login for valid session tokens. Tokens are securely stored & persist across app
|
||||
restarts, allowing users to access the app without needing to reauthenticate
|
||||
every time they open it. Registration and login are straightforward, and access
|
||||
tokens are refreshed automatically to maintain session continuity. Once a
|
||||
refresh token expires, the user is automatically logged out and redirected to
|
||||
the login screen.
|
||||
- **Invitations and Notifications:** Users can invite others to events, and
|
||||
invitations appear as notifications. Invite notifications contain support
|
||||
actions like marking as read, previewing the event details, accepting or
|
||||
declining the invitation, and deleting the notification. When an invitation
|
||||
is accepted or declined, the inviter receives a notification update, letting
|
||||
them know about the acceptance/rejection.
|
||||
- **Error Handling and API Base URL Management:** When the app cannot connect
|
||||
to the API server, a dedicated error screen is displayed. From this screen,
|
||||
users can modify the API base URL, allowing seamless switching to another
|
||||
server if needed. This Base URL setting is also accessible from the login and
|
||||
register screens.
|
||||
- **Settings and Account Management:** The settings screen is accessible to
|
||||
logged in users and offers comprehensive account management. Users can update
|
||||
their username, email, and password, delete their account, or log out. The API
|
||||
base URL can also be adjusted from here.
|
||||
- **Event Details View:** A detailed view displays complete event information,
|
||||
including its creation date, description, attendees, categories, and, if
|
||||
applicable, the event owner's details for invited events. This page offers a
|
||||
full view of the event, unlike the event cards shown in the day view, which
|
||||
only show a summary.
|
||||
- **Color-Coded Visuals:** Both events and categories support color
|
||||
customization via a built-in color picker, making it easy to differentiate and
|
||||
organize items visually.
|
||||
- **Clean and Intuitive UI:** The app's design prioritizes usability and
|
||||
clarity, with features like the event-based day highlights in the monthly view
|
||||
and a simple card format for daily events. All functionalities are accessible
|
||||
through logically organized pages and actions.
|
||||
- **Notifications System:** The notification page supports the previously
|
||||
described invite notifications, but also general message notifications, which
|
||||
the administrator can send (currently only possible by directly adding it to
|
||||
the database, as the API doesn't support privileged/admin accounts, though
|
||||
this would be possible to add in the future). Note that the app doesn't
|
||||
support push notifications, so notifications are only visible from the
|
||||
notifications screen when the app is open, however, this could be implemented
|
||||
in the future as well.
|
||||
|
||||
## Backend requirements
|
||||
|
||||
|
|
|
@ -109,10 +109,12 @@ class CreateEventActivity : AppCompatActivity() {
|
|||
|
||||
txtStartTime.setText(formatDateTime(startDateTime))
|
||||
if (endDateTime != startDateTime) {
|
||||
eventTypeToggleGroup.check(R.id.btnDurationEvent)
|
||||
instantEvent = false
|
||||
txtEndTime.visibility = View.VISIBLE
|
||||
txtEndTime.setText(formatDateTime(endDateTime))
|
||||
} else {
|
||||
eventTypeToggleGroup.check(R.id.btnInstantEvent)
|
||||
instantEvent = true
|
||||
endDateTime = null
|
||||
txtEndTime.visibility = View.GONE
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 39 KiB |
Loading…
Reference in a new issue