Files
Eventify-frontend/README.md

129 lines
6.4 KiB
Markdown
Raw Normal View History

2026-03-07 16:11:16 +05:30
<div align="center">
2026-01-31 15:23:18 +05:30
<pre>
███████╗██╗ ██╗███████╗███╗ ██╗████████╗██╗███████╗██╗ ██╗
██╔════╝██║ ██║██╔════╝████╗ ██║╚══██╔══╝██║██╔════╝╚██╗ ██╔╝
█████╗ ██║ ██║█████╗ ██╔██╗ ██║ ██║ ██║█████╗ ╚████╔╝
██╔══╝ ╚██╗ ██╔╝██╔══╝ ██║╚██╗██║ ██║ ██║██╔══╝ ╚██╔╝
███████╗ ╚████╔╝ ███████╗██║ ╚████║ ██║ ██║██║ ██║
╚══════╝ ╚═══╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝
FRONTEND APP
</pre>
2026-03-07 16:11:16 +05:30
# 🎟️ Eventify Frontend
2026-01-31 15:23:18 +05:30
*A beautifully crafted, fully responsive Flutter application for event management, discovery, and attendance.*
2026-01-31 15:23:18 +05:30
2026-03-07 16:11:16 +05:30
[![Flutter](https://img.shields.io/badge/Flutter-%2302569B.svg?style=for-the-badge&logo=flutter&logoColor=white)](https://flutter.dev/)
[![Dart](https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=white)](https://dart.dev/)
[![Platform](https://img.shields.io/badge/Platform-iOS%20%7C%20Android%20%7C%20Web%20%7C%20Desktop-lightgrey?style=for-the-badge)](#)
2026-01-31 15:23:18 +05:30
2026-03-07 16:11:16 +05:30
</div>
2026-01-31 15:23:18 +05:30
2026-03-07 16:11:16 +05:30
---
2026-01-31 15:23:18 +05:30
2026-03-07 16:11:16 +05:30
## 🌟 Overview
**Eventify Frontend** is the official Flutter mobile and desktop application counterpart of the [Eventify Dashboard (React)](https://code.bshtech.net/Sicherhaven/mvnew.eventifyplus.com). Built with performance and elegance in mind, it delivers a dynamic native experience offering the same powerful features as its web counterpart.
Whether you're an attendee looking for the next big conference or an administrator managing your personal agenda, Eventify has you covered. The application seamlessly adapts its UI between mobile and desktop form-factors.
## ✨ Key Features & Capabilities
2026-03-07 16:11:16 +05:30
- **📱 Fully Responsive Dual-Layouts:** Distinct, optimized UI layouts for both Mobile and Desktop screens (`DesktopLoginScreen` vs `LoginScreen`, `HomeDesktopScreen` vs `HomeScreen`) utilizing a strict breakpoint system.
- **🌗 Native Theming & Dark Mode:** Integrated `ThemeManager` supporting real-time reactive toggles between fully customized Light and Dark modes.
- **📅 Interactive Calendars & Booking:** Effortlessly browse and manage your events and tickets using integrated calendar views (`table_calendar`).
- **📍 Location Services:** Precise event mapping and real-time location detection powered by cutting-edge geo-packages (`geocoding` & `geolocator`).
- **📸 Media Integration:** Instantly share moments or update your profile via secure native image picking (`image_picker`).
- **💾 Fast & Reliable Local Storage:** Lightning-fast offline-ready credential and preference caching using `shared_preferences`.
- **🎨 Sleek UI/UX:** A pixel-perfect interface translated beautifully into a responsive application, complete with deep profile management, customized settings, and ticket overview screens.
- **🚀 Polished Details:** Brand-aligned custom launcher icons (`flutter_launcher_icons`) and native splash screens (`flutter_native_splash`) built right in.
2026-03-07 16:11:16 +05:30
## 🛠️ Architecture & Tech Stack
2026-03-07 16:11:16 +05:30
This project strictly adheres to a modularized folder structure designed for scalability:
2026-03-07 16:11:16 +05:30
- **Core Framework:** [Flutter](https://flutter.dev/) (SDK: `^3.0.0` target)
- **Local Data Caching:** `shared_preferences`
- **Media Management:** `image_picker`
- **Date Management:** `table_calendar`
- **Location & Analytics:** `geolocator` & `geocoding`
### 🏗️ Directory Organization
```text
lib/
├── core/
│ ├── api/ # API interceptors and client setup
│ ├── storage/ # Local caching implementations
│ ├── constants.dart # Environment constants and static keys
│ ├── theme_manager.dart# Dark/Light mode state management
│ └── app_decoration.dart
├── features/
│ ├── auth/ # Authentication BLOC/Services
│ └── events/ # Core event manipulation logic
├── screens/
│ ├── booking_screen.dart # Event booking flow
│ ├── calendar_screen.dart # Interactive calendar tools
│ ├── home_screen.dart # Mobile Home Feed
│ ├── home_desktop_screen.dart # Desktop Home Dashboard
│ ├── login_screen.dart # Mobile Login
│ ├── desktop_login_screen.dart # Desktop Login
│ ├── profile_screen.dart # User user settings
│ ├── search_screen.dart # Event lookups
│ ├── responsive_layout.dart # Core Layout Builder
│ └── ...
└── main.dart # Application Entry Point & Route Builder
```
2026-03-07 16:11:16 +05:30
## 🚀 Getting Started
Follow these steps to get your development environment set up and running locally.
### Prerequisites
- [Flutter SDK](https://docs.flutter.dev/get-started/install) installed on your machine.
- An IDE with Flutter support (VS Code, Android Studio, IntelliJ).
- An active iOS Simulator, Android Emulator, or a Web/Desktop target enabled.
2026-03-07 16:11:16 +05:30
### Installation
1. **Clone the repository**
```bash
git clone https://code.bshtech.net/Sicherhaven/Eventify-frontend.git
```
2. **Navigate to the directory**
```bash
cd Eventify-frontend
```
3. **Install dependencies**
```bash
flutter pub get
```
4. **Regenerate Assets (Optional but recommended)**
If you have updated icons or splash screens, run:
2026-03-07 16:11:16 +05:30
```bash
flutter pub run flutter_launcher_icons:main
flutter pub run flutter_native_splash:create
2026-03-07 16:11:16 +05:30
```
5. **Run the app**
```bash
flutter run
```
2026-03-07 16:11:16 +05:30
## 🔐 Authentication & State
2026-03-07 16:11:16 +05:30
The app uses an initialization check in `main.dart` that intercepts the launch view to determine if the user has an existing cached session (`email` stored via `SharedPreferences`).
- If authenticated: Safely navigates the user to the `HomeScreen` / `HomeDesktopScreen`.
- If unauthenticated: Routes the user to the `LoginScreen` / `DesktopLoginScreen`.
2026-03-07 16:11:16 +05:30
---
<div align="center">
<sub>Built with ❤️ by the Eventify Team</sub>
</div>