6.4 KiB
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.
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 (http://localhost:8000) 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:
📶 API Unreachable | 🔒 Login Screen | 🔧 Base URL Change |
---|---|---|
Error screen, shown whenever the API becomes unreachable. |
Login screen for user authentication, first screen you will face when you start the app for the first time. |
Screen to change the API base URL, available from login, register & API unreachable pages (doesn't require being signed in). |
📝 Register Screen | 📆 Month View | 📅 Day View |
User registration screen. |
Monthly calendar view to browse events, the screen shown immediately after login. |
Daily event view, listing the events for that day. |
⏳ Edit Duration Event | ⚡ Edit Instant Event | 📨 Invite User to Event |
Edit screen for duration-based events. |
Edit screen for instant events. |
Interface for inviting users to an event. |
⏱️ Duration Event Details | 🔍 Instant Event Details | 📂 Categories Overview |
Detailed view of a duration-based event. |
Detailed view of an instant event. |
List of event categories of the user. |
➕ Create New Category | 🆕 Updated Categories Overview | ⚙️ Settings Screen |
Form to create a new category or edit an existing one. |
Updated list with a newly added category. |
Settings menu for configuring user details & the base URL. This screen is only available to logged in users. |
🔔 Notification: Invite | 👀 Invite Preview | ✅ Notification: Accepted |
Notification about an incoming event invite. |
Preview of the event from the invite (after clicking the eye button). |
That same notification for the invite, after acceptance. This notification also doesn't have the orange bar on the left, meaning it's marked as read. |