Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

diconium/skoda-tender-android

Repository files navigation

Development Framework

The application supports Android OS for running mobile applications.

  • Language: Kotlin
  • Tools: Android Studio, GitHub, Windows, Linux, macOS, Emulator

Libraries

  • Android Jetpack: Lifecycle, Navigation, ViewModel
  • Material You Design: Supporting libraries for UI consistency
  • Retrofit: For API calls
  • Room: Persistent storage solution
  • Coroutines and Flows: For asynchronous programming
  • Timber: Log management
  • Firebase: Messaging, Crashlytics, and Analytics
  • Dagger2: Dependency Injection
  • RxJava: Reactive programming
  • GSON: JSON parsing

Architecture

  • Clean Code, adhering to MVVM architecture and SOLID Principles.

Features

  1. License Extension Workflow
  2. License Activation Process
  3. User Interface for License Extension Suggestions
  4. Notification System for License Expiration Alerts
  5. Subscription Extension Needs Assessment
  6. Messaging System for Subscription Promotions
  7. Automatic License Renewal Options
  8. Subscription Length Customization Options

Design Considerations

User Interface

  • Material Design:

    • Applied Android's Material Design components like MaterialButton, TextInputLayout, RecyclerView, and CardView.
    • Material themes are set in the styles.xml file with Theme.MaterialComponents.* themes, using predefined styles from Google’s Material Design library.
  • Responsive Layout:

    • Designed for various screen sizes and orientations with ConstraintLayout.
    • Separate XML layout files are created for different configurations (e.g., res/layout, res/layout-large).
    • ViewModel and LiveData are used to handle configuration changes seamlessly.
  • Accessibility:

    • Ensures usability for people with disabilities, including support for screen readers and high-contrast themes.
    • Important visual elements have content descriptions.
    • Text sizes are adjustable using sp units, with android:autoSizeTextType applied to TextView.

Performance

  • Optimized API Calls:
    • Reduced latency with efficient network handling.
    • Implemented caching strategies using OkHttp's built-in caching for offline network responses.

Security

  • Secure Connections:
    • Enforced HTTPS for all network communication to maintain data security.

Integration

Third-Party Services

  • Analytics:
    • Integrated Firebase Analytics for tracking user engagement.

Local Data Storage

  • Room Database:
    • Used for local caching of user preferences and data.

Backend API Integration

  • Retrofit:
    • Utilized for efficient HTTP communication.
  • OkHttp:
    • Manages network requests, with GSON used for JSON parsing to facilitate smooth backend API integration.

Testing

  • Testing Configuration:
    • Configured with dependencies like JUnit and Espresso to ensure comprehensive test coverage.

has context menu

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages