# Event Management Frontend The Event Management Frontend is a native Android application developed in Kotlin. This app provides a comprehensive calendar-based event management system designed for seamless user interaction. This project was created as the final assignment for **AP7PD** and **AP7MP** subjects. It integrates with a custom backend REST API to manage users, events, 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. ## Backend requirements The application requires a running backend API for full functionality. The backend is implemented using FastAPI in Python. You can find the source code and detailed deployment instructions for the backend API at: [Event Management Backend Repository](https://git.itsdrike.com/ap7pd/event-management-backend). > [!TIP] > The app supports dynamic configuration of the API base URL, allowing you to > deploy the backend on any server or cloud provider of your choice. If you > wish to test the app from android studio, you can deploy the backend locally > () and set the base URL to `http://10.0.2.2:8000`. > This will allow the Android emulator to access the local backend server. Note > that this is also the default value. ## Showcase Below is a showcase of key features and screens in the application:
Showcase
API Unreachable

Error screen, shown whenever the API becomes unreachable.

Login Screen

Login screen for user authentication.

Base URL Change

Screen to update the API base URL, available from the login, register & API unreachable pages.

Register Screen

User registration screen.

Month View

Monthly calendar view to browse events.

Day View

Daily event view with event details for that day.

Edit Duration Event

Edit screen for duration-based events.

Edit Instant Event

Edit screen for instant events.

Invite User to Event

Interface for inviting users to an event.

Duration Event Details

Detailed view of a duration-based event.

Instant Event Details

Detailed view of an instant event.

Categories Overview

List of event categories of the user.

Create New Category

Form to create a new category.

Updated Categories

Updated list with a newly added category.

Settings Screen

Settings menu for app configuration. Only available when logged in.

Notification: Invite

Notification about an incoming event invite.

Invite Preview

Preview of the event from the invite.

Notification: Invite Accepted

Notification for the incoming invite after accepting (already marked read).

Day View with Invite

Day view showing the invited event.

Invited Event Details

Details of an event the user was invited to.

Notification Accepted John

Notification about a user having accepted an outgoing invite (from the inviter's account).

Notifications Cleared

Screen showing cleared notifications.