Skip to content

Paris-Squad-S2/Aflami

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3,685 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฌ Aflami - Your Ultimate Movie & TV Show Companion

๐ŸŽฌ ุฃูู„ุงู…ูŠ - ู…ุฑุงูู‚ูƒ ุงู„ุฃู…ุซู„ ู„ู„ุฃูู„ุงู… ูˆุงู„ู…ุณู„ุณู„ุงุช

English: Discover, explore, and manage your favorite movies and TV shows with Aflami
ุงู„ุนุฑุจูŠุฉ: ุงูƒุชุดูุŒ ูˆุงุณุชูƒุดูุŒ ูˆู†ุธู… ุฃูู„ุงู…ูƒ ูˆู…ุณู„ุณู„ุงุชูƒ ุงู„ู…ูุถู„ุฉ ู…ุน ุฃูู„ุงู…ูŠ

โ€ข ๐Ÿ› Report Bug โ€ข โœจ Request Feature


๐ŸŒŸ Features

  • ๐ŸŽญ Comprehensive Entertainment Database - Browse thousands of movies and TV shows
  • ๐Ÿ” Advanced Search & Filtering - Find content by genre, year, rating, and more
  • ๐Ÿ“ฑ Modern UI/UX - Beautiful Material Design interface with smooth animations
  • ๐ŸŽฏ Personalized Experience - Create watchlists and manage your favorites
  • ๐Ÿ  Smart Home Screen - Curated recommendations and trending content
  • ๐Ÿ” Secure Authentication - Safe user account management
  • ๐ŸŽฎ Fun Guessing Games - Interactive entertainment features
  • ๐Ÿ“Š Detailed Media Information - Comprehensive details about movies and shows
  • ๐ŸŒ™ Dark/Light Theme Support - Comfortable viewing in any environment
  • ๐Ÿ“ฑ Responsive Design - Optimized for all screen sizes
  • ๐ŸŒ Language Support - Available in English and Arabic

๐Ÿ“ฝ๏ธ Gifs

Light Mode ( click on gif for high quality video ) Dark Mode ( click on gif for high quality video )
light_theme2 night_theme2

๐Ÿš€ Quick Start Guide

๐Ÿ“‹ Prerequisites

Before setting up the Aflami project, ensure you have the following installed:

Required Software

  • Android Studio Arctic Fox or later
  • JDK 11 or higher
  • Kotlin 1.8.0+
  • Git (for cloning the repository)

Android SDK Requirements

  • Minimum SDK: Android 24 (Android 7.0)
  • Target SDK: Latest available
  • Build Tools: Latest version

๐Ÿ”ง Step-by-Step Setup

1. Clone the Repository

git clone https://github.com/Paris-Squad-S2/Aflami.git
cd Aflami

2. Configure API and Security Settings

Create a local.properties file in the root directory of the project:

# API Configuration
API_TOKEN=your_tmdb_api_key_here

# Keystore Configuration (for release builds)
KEYSTORE_PATH=path/to/your/keystore.jks
KEYSTORE_PASSWORD=your_keystore_password
KEY_ALIAS=your_key_alias
KEY_PASSWORD=your_key_password

Getting TMDB API Key

  1. Visit The Movie Database (TMDB)
  2. Create a free account
  3. Go to Settings > API
  4. Request an API key
  5. Use the API key in your local.properties file

3. Open Project in Android Studio

  1. Launch Android Studio
  2. Select "Open an Existing Project"
  3. Navigate to the cloned Aflami directory
  4. Click "OK" to open the project

4. Sync Project Dependencies

  1. Android Studio will automatically prompt to sync the project
  2. If not, click "Sync Now" in the notification bar
  3. Wait for the Gradle sync to complete
  4. Resolve any dependency conflicts if they arise

5. Build and Run

  1. Connect an Android device or start an emulator
  2. Select your target device from the device dropdown
  3. Click the "Run" button (green play icon)
  4. The app will build and install on your device

๐Ÿšจ Common Setup Issues & Solutions

1. API Key Issues

Problem: App crashes or shows no data
Solution: Verify your TMDB API key is correctly added to local.properties

2. Build Failures

Problem: Gradle sync or build fails
Solutions:

  • Clean and rebuild: Build > Clean Project then Build > Rebuild Project
  • Invalidate caches: File > Invalidate Caches and Restart
  • Check internet connection for dependency downloads

3. Missing Dependencies

Problem: Import errors or missing classes
Solution: Ensure all required SDK components are installed via SDK Manager

4. Keystore Issues (Release Builds)

Problem: Cannot build release APK
Solution: Create a keystore file or use debug keystore for testing

๐Ÿ› ๏ธ Modular Architecture

๐Ÿ“‹ Overview

Aflami is modularized by feature using Clean Architecture and MVVM. Each module is independent yet integrates via DI.

๐Ÿ—๏ธ Module Structure

Aflami/
โ”œโ”€โ”€ ๐Ÿ“ฑ app/
โ”‚   โ””โ”€โ”€ ๐ŸŽฏ di/                  # Dependency Injection (Hilt setup)
โ”œโ”€โ”€ ๐Ÿ› ๏ธ buildSrc/                # Build configuration
โ”œโ”€โ”€ ๐Ÿ“Š datasource/
โ”‚   โ”œโ”€โ”€ ๐ŸŒ remote/              # Media, Guess Game, Lists, User
โ”‚   โ””โ”€โ”€ ๐Ÿ’พ local/               # Media, Guess Game, Lists, User
โ”œโ”€โ”€ ๐ŸŽจ designsystem/            # UI components and theming
โ”œโ”€โ”€ ๐Ÿ“ฆ repository/              # Media, Guess Game, Lists, User
โ”œโ”€โ”€ ๐Ÿข domain/                  # Media, Guess Game, Lists, User
โ”œโ”€โ”€ ๐ŸŽฏ feature/
โ”‚   โ”œโ”€โ”€ ๐Ÿ  home/                # Home screen
โ”‚   โ”œโ”€โ”€ ๐ŸŽฎ guessGame/           # Guessing game
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‹ lists/               # Watchlists
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ categories/          # Categories
โ”‚   โ”œโ”€โ”€ ๐Ÿ” search/              # Search
โ”‚   โ””โ”€โ”€ ๐Ÿ‘ค user/                # User profile
โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ safeimageviewer/        # Hide sensitive content
โ””โ”€โ”€ ๐Ÿ“ logger/                  # Firebase crash logging

๐Ÿ”‘ Key Technologies Used

Development Stack

  • Language: Kotlin
  • Architecture: Clean Architecture + MVVM
  • Dependency Injection: Hilt
  • Database: Room
  • Networking: Retrofit
  • Async Operations: Coroutines
  • UI: Material Design Components

Additional Libraries

  • Image Loading: (likely Glide/Coil)
  • Navigation: Jetpack Navigation
  • Lifecycle: Android Architecture Components

๐Ÿ”ง Technologies

  • Kotlin, Jetpack, Coroutines
  • Hilt, Room, Retrofit
  • Material Design, SafeImageViewer

๐Ÿ“ฑ Running the App

Debug Build

  1. Use Android Studio's run button for immediate testing
  2. Debug builds don't require keystore configuration
  3. Perfect for development and testing

Release Build

  1. Ensure keystore configuration is correct in local.properties
  2. Build via: Build > Generate Signed Bundle/APK
  3. Choose your keystore and credentials

๐ŸŒ Language Support

The app supports both English and Arabic languages. The appropriate language will be selected based on your device's system language or can be changed within the app settings.

๐ŸŽฏ Next Steps After Setup

  1. Explore the codebase: Start with the app module to understand the DI setup
  2. Run the app: Test all features to ensure everything works
  3. Check the documentation: Review feature-specific README files in each module
  4. Set up Firebase (if needed): For crash logging and analytics
  5. Configure CI/CD: Set up automated builds and testing

๐Ÿ‘ฅ Team

Name GitHub
Mohamed Elhanafy @Mohamed-Elhanafy
Mohammed Al-Akkad @mohammed-akkad
Aziza Helmy @AzizaHelmy
Haidy AbuGom3a @HaidyAbuGom3a
Muhammed Wael @MuhammedWael9991
Mahmoud Abdelnaby @M-Abdelnabi
Joseph Sameh Fouad @Joseph-Sameh-0
Ahmed Abdelnasser @ahmedNaser7
Renad Alalfy @Renad-Alalfy
Zeinab @Zeinab979
Mustafa Ibrahim @MustafaIbrahim96
Dina Othman @DinaOthman21
Ahmed Salah @itsahmedsalah
asmaa karam @Asmaa7071
Islam Magdy @IslamMagd
Yousef Osama Kamal @yousef-osama11

๐Ÿ“„ Contributing

  1. Fork the repo.
  2. Create a branch (git checkout -b feature/name).
  3. Submit a PR.

๐Ÿ“ž Getting Help

If you encounter issues during setup:

  1. Check Issues: Visit the GitHub Issues page
  2. Create New Issue: If your problem isn't listed, create a new issue with:
    • Your development environment details
    • Error messages or logs
    • Steps to reproduce the problem
  3. Contact Team: Reach out to the development team for assistance

๐Ÿ“„ License

MIT

Report Issues โญ Star this repo!

๐ŸŽ‰ You're Ready to Start Developing! ๐Ÿš€

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 13

Languages