|
1 | | -# CCloud - Movie Streaming App |
| 1 | +# CCloud - Movie & TV Series Streaming App |
2 | 2 |
|
3 | | -CCloud is a modern Android movie streaming application built with Jetpack Compose and Kotlin. The app provides a sleek user interface for browsing movies, playing videos, and customizing the viewing experience. |
| 3 | +<p align="center"> |
| 4 | + <img src="app/src/main/res/drawable/splash_logo.png" alt="CCloud Logo" width="150"/> |
| 5 | +</p> |
4 | 6 |
|
5 | | -## Features |
| 7 | +CCloud is a modern Android streaming application built with Jetpack Compose and Kotlin. The app provides a sleek user interface for browsing movies and TV series, playing videos, and customizing the viewing experience. With a focus on user experience and performance, CCloud delivers high-quality streaming content in an intuitive and visually appealing interface. |
6 | 8 |
|
7 | | -- Browse movies with an attractive grid layout |
8 | | -- View detailed information for each movie |
9 | | -- Stream videos with a custom video player |
10 | | -- Customize subtitle settings (background color, text color, border color, text size) |
11 | | -- Theme customization (light/dark mode with color options) |
12 | | -- Responsive UI with Material Design 3 |
| 9 | +## 🚀 Key Features |
13 | 10 |
|
14 | | -## Tech Stack |
| 11 | +### 🎬 Content Discovery |
| 12 | +- **Browse Movies & Series**: Attractive grid layout for discovering content |
| 13 | +- **Powerful Search**: Search across both movies and TV series with real-time results |
| 14 | +- **Detailed Information**: Comprehensive details for each movie and series including ratings, genres, and descriptions |
| 15 | + |
| 16 | +### ▶️ Media Playback |
| 17 | +- **Custom Video Player**: Built with ExoPlayer for smooth video playback |
| 18 | +- **Multiple Quality Options**: Choose from various quality options for playback and download |
| 19 | +- **Download Options**: Multiple download methods including browser, ADM, and VLC |
| 20 | +- **Fullscreen Experience**: Optimized landscape mode for immersive viewing |
| 21 | + |
| 22 | +### 🎨 Personalization |
| 23 | +- **Theme Customization**: Light, dark, and system themes with color options |
| 24 | +- **Subtitle Settings**: Customize subtitle appearance (background, text color, border, size) |
| 25 | +- **Responsive UI**: Material Design 3 interface that adapts to all screen sizes |
| 26 | + |
| 27 | +### 📱 User Experience |
| 28 | +- **Intuitive Navigation**: Bottom navigation for easy access to all sections |
| 29 | +- **Error Handling**: Retry mechanisms for failed requests |
| 30 | +- **Loading States**: Shimmer loading animations for smooth user experience |
| 31 | +- **Season & Episode Management**: Easy navigation through TV series seasons and episodes |
| 32 | + |
| 33 | +## 🛠️ Tech Stack |
15 | 34 |
|
16 | 35 | - **Kotlin** - Primary programming language |
17 | 36 | - **Jetpack Compose** - Modern toolkit for building native UI |
18 | 37 | - **ExoPlayer** - Media playback library |
19 | 38 | - **Kotlin Serialization** - JSON serialization |
20 | 39 | - **Coil** - Image loading library |
21 | 40 | - **Material Design 3** - UI components and design system |
| 41 | +- **Navigation Component** - For seamless screen transitions |
| 42 | +- **ViewModel & LiveData** - For state management |
| 43 | +- **Coroutines** - For asynchronous operations |
| 44 | +- **OkHttp** - For network requests |
22 | 45 |
|
23 | | -## Architecture |
| 46 | +## 🏗️ Architecture |
24 | 47 |
|
25 | 48 | The app follows a clean architecture pattern with the following components: |
26 | 49 |
|
27 | | -- **UI Layer** - Compose screens and components |
28 | | -- **Data Layer** - Models and repositories |
29 | | -- **Domain Layer** - Business logic |
| 50 | +- **UI Layer** - Jetpack Compose screens and components |
| 51 | +- **Data Layer** - Models and repositories for data management |
| 52 | +- **Domain Layer** - Business logic and use cases |
30 | 53 | - **Utils** - Helper classes and extensions |
| 54 | +- **Navigation** - Single-activity architecture with Compose Navigation |
| 55 | +- **State Management** - ViewModel for UI state handling |
31 | 56 |
|
32 | 57 | ## Getting Started |
33 | 58 |
|
@@ -98,29 +123,75 @@ Users can customize their experience through the settings screen: |
98 | 123 | - Primary and secondary color selection |
99 | 124 | - Subtitle settings (colors and text size) |
100 | 125 |
|
101 | | -### Navigation |
| 126 | +## 📱 App Screens |
| 127 | + |
| 128 | +### 🎬 Movies Screen |
| 129 | +- Browse latest movies in an attractive grid layout |
| 130 | +- Pull-to-refresh functionality |
| 131 | +- Infinite scrolling for loading more content |
| 132 | +- Error handling with retry option |
| 133 | +- Shimmer loading animations |
| 134 | + |
| 135 | +### 📺 Series Screen |
| 136 | +- Browse TV series with comprehensive information |
| 137 | +- Season and episode organization |
| 138 | +- Pull-to-refresh and infinite scrolling |
| 139 | +- Error handling with retry option |
| 140 | + |
| 141 | +### 🔍 Search Screen |
| 142 | +- Real-time search across movies and series |
| 143 | +- Instant results as you type |
| 144 | +- Error handling with retry button |
| 145 | +- Clear search functionality |
| 146 | + |
| 147 | +### 📄 Single Movie Screen |
| 148 | +- Detailed movie information |
| 149 | +- Multiple quality options for playback |
| 150 | +- Download options (Browser, ADM, VLC) |
| 151 | +- Custom video player integration |
| 152 | + |
| 153 | +### 📺 Single Series Screen |
| 154 | +- Comprehensive series details |
| 155 | +- Season navigation and episode listing |
| 156 | +- Multiple quality options per episode |
| 157 | +- Download options for each episode |
| 158 | +- Error handling with retry functionality |
| 159 | + |
| 160 | +### ⚙️ Settings Screen |
| 161 | +- Theme customization (Light/Dark/System) |
| 162 | +- Primary and secondary color selection |
| 163 | +- Subtitle settings (colors and text size) |
| 164 | +- Reset to default options |
102 | 165 |
|
| 166 | +### 🏠 Bottom Navigation |
103 | 167 | The app uses a bottom navigation bar to switch between: |
104 | | - |
105 | 168 | - Movies screen |
| 169 | +- Series screen |
106 | 170 | - Search screen |
107 | 171 | - Settings screen |
108 | | -- ... |
109 | 172 |
|
110 | | -## Contributing |
| 173 | +## 🤝 Contributing |
| 174 | + |
| 175 | +We welcome contributions to CCloud! Here's how you can help: |
111 | 176 |
|
112 | 177 | 1. Fork the repository |
113 | 178 | 2. Create a feature branch |
114 | 179 | 3. Commit your changes |
115 | 180 | 4. Push to the branch |
116 | 181 | 5. Create a pull request |
117 | 182 |
|
118 | | -## License |
| 183 | +Please ensure your code follows the existing style and includes appropriate tests. |
| 184 | + |
| 185 | +## 📄 License |
119 | 186 |
|
120 | 187 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
121 | 188 |
|
122 | | -## Acknowledgments |
| 189 | +## 🙏 Acknowledgments |
123 | 190 |
|
124 | 191 | - [ExoPlayer](https://exoplayer.dev/) for media playback |
125 | 192 | - [Coil](https://coil-kt.github.io/coil/) for image loading |
126 | | -- [Material Design](https://m3.material.io/) for UI components |
| 193 | +- [Material Design](https://m3.material.io/) for UI components |
| 194 | + |
| 195 | +## 📞 Contact |
| 196 | + |
| 197 | +For support or inquiries, please open an issue on GitHub. |
0 commit comments