https://github.com/whdhdyt21/dicoding-event
Dicoding Event is an Android app for discovering, saving, and participating in events on the Dicoding platform. Built with Kotlin and MVVM architecture, it features event browsing, favorites management, a search function, dark mode, and daily reminders.
https://github.com/whdhdyt21/dicoding-event
android dicodingevent kotlin mobile-app-development
Last synced: 2 months ago
JSON representation
Dicoding Event is an Android app for discovering, saving, and participating in events on the Dicoding platform. Built with Kotlin and MVVM architecture, it features event browsing, favorites management, a search function, dark mode, and daily reminders.
- Host: GitHub
- URL: https://github.com/whdhdyt21/dicoding-event
- Owner: whdhdyt21
- Created: 2024-11-24T20:21:26.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-30T02:29:52.000Z (over 1 year ago)
- Last Synced: 2025-04-05T05:45:36.188Z (over 1 year ago)
- Topics: android, dicodingevent, kotlin, mobile-app-development
- Language: Kotlin
- Homepage:
- Size: 4.55 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dicoding Event
**Dicoding Event** is an Android application designed to help users discover, save, and participate in various events hosted on the Dicoding platform. The app offers a seamless user experience with features tailored to enhance event discovery and participation.
---
## 🚀 Key Features
- **Upcoming Events**: View a list of upcoming events.
- **Finished Events**: Explore completed events.
- **Favorites**: Save favorite events for offline access using Room Database.
- **Event Details**:
- Comprehensive information about each event, including:
- Location
- Schedule
- Description
- **UI Features**:
- **ImageView** for event cover.
- **TextView** for event details (name, organizer, time, quota, and description).
- **FloatingActionButton** to add events to favorites.
- **Button** for event registration.
- **Error Page** with retry functionality.
- **ProgressBar** for loading indicators.
- **Settings**:
- Dark Mode for a comfortable viewing experience at night.
- Daily Reminder for notifications about new events.
- **Search**: Quickly find events by keyword.
---
## 📸 Screenshots
### Home Screen

### Upcoming Events Screen

### Favorite Events Screen

### Finished Events Screen

### Settings Screen

### Search Screen

---
## ⚙️ Initial Setup
### Prerequisites
Before starting, ensure you have the following:
- **Android Studio** (Arctic Fox or newer)
- Latest **Gradle** version
- **Java Development Kit (JDK)** version 11 or newer
### Installation
1. Clone the repository:
```bash
git clone https://github.com/whdhdyt21/Dicoding-Event.git
```
2. Open the project in Android Studio.
3. Configure the `local.properties` file by adding the following:
```properties
BASE_URL=https://event-api.dicoding.dev/
```
> **Note:** The `local.properties` file stores sensitive local configurations and is excluded from version control.
4. Build and run the application in Android Studio.
---
## 🛠️ Technologies Used
- **Kotlin**: Main programming language for development.
- **MVVM Architecture**: Ensures separation of concerns for better maintainability.
- **Retrofit**: Handles REST API communication.
- **Room Database**: Manages local storage of favorite events.
- **LiveData & ViewModel**: Provides reactive and lifecycle-aware data management.
- **WorkManager**: Schedules daily reminder notifications.
- **Material Design**: Delivers a modern and user-friendly interface.
---
## 🤝 Contribution
Contributions are welcome! If you’d like to improve the project, follow these steps:
1. Fork this repository.
2. Create a feature branch:
```bash
git checkout -b feature/your-feature-name
```
3. Commit your changes:
```bash
git commit -m "Add feature: your-feature-name"
```
4. Push the branch:
```bash
git push origin feature/your-feature-name
```
5. Open a pull request on GitHub.
---
## 📜 License
This project is licensed under the [MIT License](LICENSE).