Skip to content

πŸš€ First PR? Let’s make it happen this Hacktoberfest!, Dont Forget to Give Star⭐

Notifications You must be signed in to change notification settings

Rishi098/NewSampleUi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± NewSampleUi - WhatsApp DP App with Chart Analytics

Android Kotlin Java

πŸš€ First PR? Let's make it happen this Hacktoberfest! ⭐ Don't Forget to Give Star!

A modern Android application that combines WhatsApp Display Picture (DP) management with interactive chart analytics. Built with Kotlin and following Android best practices.

🌟 Features

πŸ“Š Chart Analytics

  • Interactive Line Charts: Beautiful, responsive chart visualizations
  • Real-time Data: Dynamic data updates with smooth animations
  • Touch Interactions: Tap to select chart points for detailed information
  • Customizable Views: Multiple chart configurations and styles

πŸ–ΌοΈ WhatsApp DP Management

  • DP Gallery: Browse and manage WhatsApp display pictures
  • Category Organization: Organize DPs by categories
  • Background Management: Custom background options
  • Share Functionality: Easy sharing of DPs

🎨 Modern UI/UX

  • Material Design: Following Google's Material Design guidelines
  • Navigation Components: Smooth navigation between screens
  • Dark/Light Themes: Support for both theme modes
  • Responsive Layout: Optimized for different screen sizes

πŸ› οΈ Tech Stack

Core Technologies

  • Kotlin (97.2%) - Primary development language
  • Java (2.8%) - Legacy components
  • Android SDK - Native Android development

Architecture & Libraries

  • MVVM Architecture - Modern Android architecture pattern
  • Navigation Components - Fragment navigation
  • Room Database - Local data persistence
  • Retrofit - Network communication
  • Picasso - Image loading and caching
  • RxJava2 - Reactive programming
  • HelloCharts - Chart visualization library

Dependencies

// Core Android
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.11.0'

// Navigation
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.6'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.6'

// Database
implementation "androidx.room:room-runtime:2.6.1"
implementation "androidx.room:room-ktx:2.6.1"

// Network
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

// Image Loading
implementation 'com.squareup.picasso:picasso:2.8'

// Reactive Programming
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation "io.reactivex.rxjava2:rxjava:2.2.21"

πŸ“± Screenshots

Home Screen Chart Analytics DP Gallery
Home Chart Gallery

πŸš€ Getting Started

Prerequisites

  • Android Studio Arctic Fox or later
  • Android SDK 21+ (Android 5.0)
  • Kotlin 1.9.10+
  • Gradle 8.1.4+

Installation

  1. Clone the repository

    git clone https://github.com/TechnoBlogger14o3/NewSampleUi.git
    cd NewSampleUi
  2. Open in Android Studio

    • Launch Android Studio
    • Select "Open an existing project"
    • Navigate to the cloned directory
  3. Sync Project

    • Android Studio will automatically sync Gradle files
    • Wait for the sync to complete
  4. Run the App

    • Connect an Android device or start an emulator
    • Click the "Run" button or press Shift + F10

Build Configuration

android {
    compileSdk 34
    defaultConfig {
        applicationId "com.itamazons.whatsdp"
        minSdk 21
        targetSdk 34
        versionCode 1
        versionName "1.0"
    }
}

πŸ“ Project Structure

app/
β”œβ”€β”€ src/main/
β”‚   β”œβ”€β”€ java/com/itamazons/whatsdp/
β”‚   β”‚   β”œβ”€β”€ Application/
β”‚   β”‚   β”‚   └── MyApplication.kt
β”‚   β”‚   β”œβ”€β”€ ui/
β”‚   β”‚   β”‚   β”œβ”€β”€ gallery/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ GalleryFragment.kt
β”‚   β”‚   β”‚   β”‚   └── GalleryViewModel.kt
β”‚   β”‚   β”‚   β”œβ”€β”€ home/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ HomeFragment.kt
β”‚   β”‚   β”‚   β”‚   └── HomeViewModel.kt
β”‚   β”‚   β”‚   └── slideshow/
β”‚   β”‚   β”‚       β”œβ”€β”€ SlideshowFragment.kt
β”‚   β”‚   β”‚       └── SlideshowViewModel.kt
β”‚   β”‚   β”œβ”€β”€ dto/
β”‚   β”‚   β”‚   β”œβ”€β”€ PhotoDto.kt
β”‚   β”‚   β”‚   β”œβ”€β”€ PhotoSrcDto.kt
β”‚   β”‚   β”‚   β”œβ”€β”€ SampleDto.kt
β”‚   β”‚   β”‚   └── SearchResultDto.kt
β”‚   β”‚   β”œβ”€β”€ WebTask/
β”‚   β”‚   β”‚   β”œβ”€β”€ ApiClient.kt
β”‚   β”‚   β”‚   └── ApiInterface.kt
β”‚   β”‚   β”œβ”€β”€ SharePreferene/
β”‚   β”‚   β”‚   └── SharePref.kt
β”‚   β”‚   β”œβ”€β”€ MainActivity.kt
β”‚   β”‚   β”œβ”€β”€ CatagoryActivity.kt
β”‚   β”‚   β”œβ”€β”€ RegisterActivity.kt
β”‚   β”‚   β”œβ”€β”€ ScrollActivity.kt
β”‚   β”‚   β”œβ”€β”€ SplashScreenActivity.kt
β”‚   β”‚   β”œβ”€β”€ WhatsBackgroundAdapter.kt
β”‚   β”‚   β”œβ”€β”€ WhatsDpAdapter.kt
β”‚   β”‚   └── SquareImageView.java
β”‚   └── res/
β”‚       β”œβ”€β”€ layout/
β”‚       β”œβ”€β”€ values/
β”‚       β”œβ”€β”€ drawable/
β”‚       └── menu/

πŸ”§ Development

Code Style

  • Follow Kotlin coding conventions
  • Use meaningful variable and function names
  • Add proper documentation for public APIs
  • Implement proper error handling

Architecture Guidelines

  • Use MVVM pattern for UI components
  • Implement Repository pattern for data access
  • Use Dependency Injection where appropriate
  • Follow Single Responsibility Principle

Testing

# Run unit tests
./gradlew test

# Run instrumented tests
./gradlew connectedAndroidTest

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

πŸ› Bug Reports πŸ’‘ Feature Requests 🎨 UI/UX Improvements πŸ“ Documentation
Report issues and bugs Suggest new features Improve user interface Update documentation
πŸ”§ Code Quality πŸ§ͺ Testing 🌍 Localization πŸ“± Platform Support
Refactor and optimize Add test coverage Add new languages Support more devices

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Make your changes
    • Follow the coding standards
    • Add tests for new functionality
    • Update documentation if needed
  4. Commit your changes
    git commit -m "Add amazing feature"
  5. Push to the branch
    git push origin feature/amazing-feature
  6. Open a Pull Request

Issue Labels

Label Description
bug Something isn't working
enhancement New feature or request
documentation Improvements to documentation
good first issue Good for newcomers
help wanted Extra attention is needed

πŸ› Known Issues

  • Chart data persistence needs improvement
  • Memory optimization for large image galleries
  • Better error handling for network requests
  • Accessibility improvements needed

πŸ—ΊοΈ Roadmap

Version 1.1 (Next Release)

  • Enhanced chart customization options
  • Improved image caching mechanism
  • Better offline support
  • Performance optimizations

Version 1.2 (Future)

  • Real-time data synchronization
  • Advanced chart types (bar, pie, etc.)
  • User preferences and settings
  • Export functionality

πŸ“Š Performance

App Metrics

  • APK Size: ~15MB
  • Startup Time: <2 seconds
  • Memory Usage: ~50MB average
  • Battery Impact: Minimal

Optimization Features

  • Image lazy loading
  • Efficient memory management
  • Optimized chart rendering
  • Background task optimization

πŸ”’ Security

  • Data Privacy: No personal data collection
  • Network Security: HTTPS for all API calls
  • Local Storage: Encrypted shared preferences
  • Permissions: Minimal required permissions

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Contributors

Thanks to all the contributors who have helped make this project better!

πŸ™ Acknowledgments

  • HelloCharts Library - For providing excellent chart functionality
  • Android Community - For continuous support and feedback
  • Material Design - For design guidelines and inspiration
  • Open Source Contributors - For making this project possible

πŸ“ž Support

⭐ Star History

Star History Chart


⭐ If you found this project helpful, please give it a star! ⭐

Made with ❀️ for the Android community

GitHub stars GitHub forks

About

πŸš€ First PR? Let’s make it happen this Hacktoberfest!, Dont Forget to Give Star⭐

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8